Merge pull request #175 from OpenHD/codex/add-footer-with-last-update… #149
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
| name: Frontend Build Check | |
| on: | |
| # Trigger the workflow on push events to the main branch | |
| push: | |
| branches: [ "main" ] | |
| paths: # Optional: Only run if files in Frontend directory or this workflow change | |
| - 'Frontend/**' | |
| - '.github/workflows/frontend-build.yml' | |
| # Trigger the workflow on pull request events targeting the main branch | |
| pull_request: | |
| branches: [ "main" ] | |
| paths: # Optional: Only run if files in Frontend directory or this workflow change | |
| - 'Frontend/**' | |
| - '.github/workflows/frontend-build.yml' | |
| jobs: | |
| build-frontend: | |
| name: Build Frontend | |
| runs-on: ubuntu-latest # Use a standard Linux runner | |
| # Define default working directory for steps running within the Frontend folder | |
| defaults: | |
| run: | |
| working-directory: ./Frontend | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # Setup pnpm using the dedicated action | |
| # Documentation: https://github.com/pnpm/action-setup | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v3 | |
| with: | |
| # Specify your desired pnpm version. Using a specific major version like '8' | |
| # helps ensure consistency between local dev and CI if you use v8 locally. | |
| version: 8 | |
| # Setup Node.js using the actions/setup-node action | |
| # Documentation: https://github.com/actions/setup-node | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| # Specify the Node.js version your project uses (e.g., '18.x', '20.x') | |
| # Ensure this matches the version used in your Dockerfile and local dev if possible | |
| node-version: '20.x' # ADJUST THIS TO YOUR PROJECT'S NODE VERSION | |
| # Enable caching for pnpm. This is crucial for performance. | |
| cache: 'pnpm' | |
| # Specify the path to the lock file RELATIVE TO THE REPOSITORY ROOT | |
| # This is used to generate the cache key. | |
| cache-dependency-path: './Frontend/pnpm-lock.yaml' | |
| - name: Install Dependencies (Frozen Lockfile) | |
| # Runs 'pnpm install --frozen-lockfile' in the ./Frontend directory (due to defaults) | |
| # --frozen-lockfile ensures that pnpm fails if the lockfile is not | |
| # up-to-date with package.json, guaranteeing reproducible builds. | |
| # THIS STEP WILL FAIL if your committed pnpm-lock.yaml is not synchronized! | |
| run: pnpm install --frozen-lockfile | |
| - name: Build Frontend Application | |
| # Runs 'pnpm run build' (or your specific build script) in ./Frontend | |
| # Replace 'build' with the actual name of your build script in package.json | |
| # e.g., build:prod, generate, compile, etc. | |
| run: pnpm run build # ADJUST 'build' IF YOUR SCRIPT IS NAMED DIFFERENTLY | |
| - name: Run Tests | |
| # Run unit tests to ensure the Angular 20 upgrade didn't break anything | |
| run: pnpm run test --watch=false --browsers=ChromeHeadless | |
| # Optional: Add a step to upload build artifacts if needed for deployment etc. | |
| # - name: Upload Build Artifacts | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: frontend-build-artifact | |
| # # Adjust path to your build output directory (relative to repo root) | |
| # path: ./Frontend/dist |