Skip to content

chore(deps)(deps): bump node from 20-alpine to 24-alpine in /Frontend #139

chore(deps)(deps): bump node from 20-alpine to 24-alpine in /Frontend

chore(deps)(deps): bump node from 20-alpine to 24-alpine in /Frontend #139

Workflow file for this run

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