From ccb333720a70fc6b883834f6fdd3e8389e1c5b8d Mon Sep 17 00:00:00 2001 From: Shan Yinlong Date: Tue, 12 Mar 2024 12:59:01 +0800 Subject: [PATCH] Update deploy.yml --- .github/workflows/deploy.yml | 96 +++++++++++++++--------------------- 1 file changed, 39 insertions(+), 57 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index e7c6ce5..44a7c6c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,69 +1,51 @@ -name: Deploy +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages on: + # Runs on pushes targeting the default branch push: - branches: - - main + branches: ['main'] -jobs: - build: - name: Build - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: - - name: Setup Node - uses: actions/setup-node@v3 +# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write - - name: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Build project - run: pnpm run build - - - name: Upload production-ready build files - uses: actions/upload-artifact@v2 - with: - name: production-files - path: ./dist +# Allow one concurrent deployment +concurrency: + group: 'pages' + cancel-in-progress: true +jobs: + # Single deploy job since we're just deploying deploy: - name: Deploy - needs: build + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest - if: github.ref == 'refs/heads/main' - steps: - - name: Download artifact - uses: actions/download-artifact@v2 + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Node + uses: actions/setup-node@v3 with: - name: production-files - path: ./dist - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 + node-version: 18 + cache: 'npm' + - name: Install dependencies + run: npm install + - name: Build + run: npm run build + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./dist + # Upload dist repository + path: './dist' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2