Deploy static content to Pages #346
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
name: Deploy static content to Pages | |
on: | |
push: | |
branches: ['main'] | |
workflow_dispatch: | |
schedule: | |
- cron: "0 15 */1 * *" # 15UTC (9 America/Sao_Paulo) every day | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
discussions: read | |
concurrency: | |
group: 'pages' | |
cancel-in-progress: false | |
jobs: | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Setup node and restore cached dependencies | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
cache: 'pnpm' | |
- name: Restore puppeteer install | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/puppeteer | |
key: ${{ runner.os }}-puppeteer | |
- name: Install packages | |
run: pnpm install --frozen-lockfile | |
- name: Install chrome | |
run: pnpm puppeteer browsers install chrome | |
- name: Build | |
run: pnpm build | |
env: | |
NODE_ENV: production | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v2 | |
with: | |
path: 'dist' | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 |