Update astro monorepo #153
This file contains hidden or 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
| # Workflow for building Astro site on pull requests | |
| # This workflow validates that pull requests don't break the build | |
| name: Build PR | |
| on: | |
| pull_request: | |
| branches: ['master'] | |
| # Sets permissions of the GITHUB_TOKEN to read repository contents | |
| permissions: | |
| contents: read | |
| env: | |
| BUILD_PATH: '.' # default value when not using subfolders | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Detect package manager | |
| id: detect-package-manager | |
| run: | | |
| if [ -f "${{ github.workspace }}/yarn.lock" ]; then | |
| echo "manager=yarn" >> $GITHUB_OUTPUT | |
| echo "command=install" >> $GITHUB_OUTPUT | |
| echo "runner=yarn" >> $GITHUB_OUTPUT | |
| echo "lockfile=yarn.lock" >> $GITHUB_OUTPUT | |
| exit 0 | |
| elif [ -f "${{ github.workspace }}/package.json" ]; then | |
| echo "manager=npm" >> $GITHUB_OUTPUT | |
| echo "command=ci" >> $GITHUB_OUTPUT | |
| echo "runner=npx --no-install" >> $GITHUB_OUTPUT | |
| echo "lockfile=package-lock.json" >> $GITHUB_OUTPUT | |
| exit 0 | |
| else | |
| echo "Unable to determine package manager" | |
| exit 1 | |
| fi | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| cache: ${{ steps.detect-package-manager.outputs.manager }} | |
| cache-dependency-path: ${{ env.BUILD_PATH }}/${{ steps.detect-package-manager.outputs.lockfile }} | |
| - name: Install dependencies | |
| run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} | |
| working-directory: ${{ env.BUILD_PATH }} | |
| - name: Build with Astro | |
| run: | | |
| ${{ steps.detect-package-manager.outputs.runner }} astro build | |
| - name: Build Pagefind Index | |
| run: | | |
| ${{ steps.detect-package-manager.outputs.runner }} pagefind --site dist | |
| working-directory: ${{ env.BUILD_PATH }} |