name: Build and deploy website on: push: branches: - master jobs: build-deploy: runs-on: ubuntu-latest steps: - name: Cancel previous runs uses: styfle/cancel-workflow-action@0.10.0 with: access_token: ${{ github.token }} all_but_latest: true - name: Checkout repository uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 16 - name: Check cache uses: actions/cache@v3 id: npm-cache with: path: '**/node_modules' key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - name: Install dependencies if: steps.npm-cache.outputs.cache-hit != 'true' run: npm install - name: Build website run: npm run build - name: Add .nojekyll run: touch ./public/.nojekyll - name: Deploy website uses: peaceiris/actions-gh-pages@v3 with: deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} publish_branch: gh-pages publish_dir: ./public user_name: "github-actions[bot]" user_email: "github-actions[bot]@users.noreply.github.com" commit_message: ${{ github.event.head_commit.message }}