This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Simple workflow for deploying static content to GitHub Pages | |
name: Deploy to GitHub Pages | |
on: | |
# Runs on pushes targeting the default branch | |
push: | |
branches: ['main'] | |
paths-ignore: | |
- '.github/**' | |
- '!.github/workflows/**/*' | |
- '.gitignore' | |
- 'README.md' | |
- 'LICENSE' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
# Allow one concurrent deployment | |
concurrency: | |
group: 'pages' | |
cancel-in-progress: true | |
jobs: | |
# Single deploy job since we're just deploying | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Pages | |
uses: actions/configure-pages@v2 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
cache: 'pnpm' | |
- name: Install project dependencies | |
run: pnpm install | |
# Here magic comes | |
- name: Build project | |
run: pnpm run build | |
- name: Upload builded project | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
# Upload only build folder | |
path: './dist/' | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v1 | |
telegram-send-post: | |
name: 'Send changed/created post to Telegram Channel' | |
runs-on: ubuntu-latest | |
environment: telegram-send-post | |
env: | |
TG_BOT_APIKEY: ${{ secrets.TG_BOT_APIKEY }} | |
TG_CHANNEL_ID: ${{ secrets.TG_CHANNEL_ID }} | |
needs: deploy | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
cache: 'pnpm' | |
- uses: jitterbit/get-changed-files@v1 | |
id: changedFiles | |
with: | |
format: space-delimited | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: 'Run bot' | |
run: | | |
pnpm install | |
CREATED_FILE="${{steps.changedFiles.outputs.added}}" pnpm run tg-bot |