Build chore(deps): update node.js to v24.20.0 #4044
Workflow file for this run
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: Build & Unit Tests | |
| on: | |
| pull_request: | |
| branches: [main, prod-beta, prod-stable] | |
| paths-ignore: | |
| - '**.md' | |
| - '.github/workflows/playwright-actions.yml' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| jobs: | |
| malware-scan: | |
| runs-on: ubuntu-latest | |
| name: malware-scan | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| submodules: recursive | |
| - name: Set up sparse checkout | |
| uses: ./.github/actions/sparse-checkout-utils | |
| - name: Supply chain malware scan | |
| working-directory: .github/ | |
| env: | |
| PR_BASE_REF: ${{ github.event.pull_request.base.ref }} | |
| run: | | |
| chmod +x workflowScripts/malware-pr-check.py | |
| python3 workflowScripts/malware-pr-check.py | |
| vulnerability-review: | |
| runs-on: ubuntu-latest | |
| name: vulnerability-review | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| submodules: recursive | |
| - name: Set up sparse checkout | |
| uses: ./.github/actions/sparse-checkout-utils | |
| - name: Known vulnerability review | |
| uses: actions/dependency-review-action@v5 | |
| with: | |
| comment-summary-in-pr: on-failure | |
| vulnerability-check: true | |
| license-check: false | |
| lint: | |
| needs: [malware-scan, vulnerability-review] | |
| runs-on: ubuntu-latest | |
| name: lint | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| submodules: recursive | |
| - name: Set up sparse checkout | |
| uses: ./.github/actions/sparse-checkout-utils | |
| - name: Cache - node_modules | |
| if: always() | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| node_modules | |
| dist | |
| key: ${{ runner.os }}-build-test-${{ hashFiles('yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-build-test- | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.nvmrc' | |
| - name: Install Dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Lint | |
| run: yarn lint | |
| format: | |
| needs: [malware-scan, vulnerability-review] | |
| runs-on: ubuntu-latest | |
| name: format | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| submodules: recursive | |
| - name: Set up sparse checkout | |
| uses: ./.github/actions/sparse-checkout-utils | |
| - name: Cache - node_modules | |
| if: always() | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| node_modules | |
| dist | |
| key: ${{ runner.os }}-build-test-${{ hashFiles('yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-build-test- | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.nvmrc' | |
| - name: Install Dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Format code with prettier | |
| run: yarn format:check | |
| build-check: | |
| needs: [malware-scan, vulnerability-review] | |
| runs-on: ubuntu-latest | |
| name: build-check | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| submodules: recursive | |
| - name: Set up sparse checkout | |
| uses: ./.github/actions/sparse-checkout-utils | |
| - name: Cache - node_modules | |
| if: always() | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| node_modules | |
| dist | |
| key: ${{ runner.os }}-build-test-${{ hashFiles('yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-build-test- | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.nvmrc' | |
| - name: Install Dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Build the application | |
| run: yarn build | |
| unit-test: | |
| needs: [malware-scan, vulnerability-review] | |
| name: unit-test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| submodules: recursive | |
| - name: Set up sparse checkout | |
| uses: ./.github/actions/sparse-checkout-utils | |
| - name: Cache - node_modules | |
| if: always() | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| node_modules | |
| dist | |
| key: ${{ runner.os }}-build-test-${{ hashFiles('yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-build-test- | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.nvmrc' | |
| - name: Install Dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Tests | |
| run: yarn test | |
| - name: Convert JUnit report to CTRF format | |
| run: npx junit-to-ctrf test-results/jest-junit.xml -o test-results/ctrf-report.json | |
| if: always() | |
| - name: Report test results | |
| uses: ctrf-io/github-test-reporter@v1 | |
| with: | |
| report-path: './test-results/ctrf-report.json' | |
| if: always() |