name: "frontend:test:build test code" on: push jobs: # only (but most important) job from this workflow required for pull requests # check results serve as run conditions for all other jobs here files-changed: name: Detect File Changes - frontend-test-build-code runs-on: ubuntu-latest outputs: changes: ${{ steps.changes.outputs.frontend-test-build-code }} steps: - uses: actions/checkout@v4 - name: Check for frontend file changes uses: dorny/paths-filter@v3.0.1 id: changes with: token: ${{ github.token }} filters: .github/file-filters.yml list-files: shell build: if: needs.files-changed.outputs.changes == 'true' name: Build - Frontend needs: files-changed runs-on: ubuntu-latest steps: - name: Set Node version uses: actions/setup-node@v4 with: node-version: '>=21' - name: Checkout code uses: actions/checkout@v4 - name: Frontend | Build run: npm install && npm run build