Fix standard track exceptions #2236
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: Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| permissions: | |
| contents: read | |
| env: | |
| FORCE_COLOR: 3 | |
| jobs: | |
| format: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node | |
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version-file: ".nvmrc" | |
| cache: npm | |
| package-manager-cache: true | |
| - run: npm ci | |
| - run: npx eslint . | |
| - run: npx prettier --check . | |
| - run: npx tsc --noEmit | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node | |
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version-file: ".nvmrc" | |
| cache: npm | |
| package-manager-cache: true | |
| - run: npm ci | |
| - run: npm run lint -- --fail-on-warnings | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node | |
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version-file: ".nvmrc" | |
| cache: npm | |
| package-manager-cache: true | |
| - run: npm ci | |
| - run: npm run unittest | |
| diff-build: | |
| if: github.event_name == 'pull_request' | |
| runs-on: ubuntu-latest | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number }}-diff-build | |
| cancel-in-progress: true | |
| steps: | |
| - name: Determine base ref | |
| id: base | |
| run: | | |
| if [[ "$GITHUB_HEAD_REF" == "release" ]]; then | |
| VERSION=$(npm view @mdn/browser-compat-data version) | |
| echo "ref=v$VERSION" >> "$GITHUB_OUTPUT" | |
| echo "Comparing release branch against published v$VERSION" | |
| else | |
| echo "ref=$GITHUB_BASE_REF" >> "$GITHUB_OUTPUT" | |
| echo "Comparing against base branch: $GITHUB_BASE_REF" | |
| fi | |
| # Base | |
| - name: Checkout (base) | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| ref: ${{ steps.base.outputs.ref }} | |
| path: base | |
| persist-credentials: false | |
| - name: Checkout (PR) | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| path: pr | |
| persist-credentials: false | |
| - name: Setup Node | |
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version-file: pr/.nvmrc | |
| cache: npm | |
| cache-dependency-path: | | |
| base/package-lock.json | |
| pr/package-lock.json | |
| package-manager-cache: true | |
| - name: Install | |
| run: | | |
| # sed command prefixes each line of output with [base] or [pr] | |
| cd base && npm ci | sed "s/^/[base] /" & | |
| cd pr && npm ci | sed "s/^/[pr] /" & | |
| wait | |
| - name: Format | |
| run: | | |
| # sed command prefixes each line of output with [base] or [pr] | |
| cd base/build && npx prettier --write . | sed "s/^/[base] /" & | |
| cd pr/build && npx prettier --write . | sed "s/^/[pr] /" & | |
| wait | |
| - name: Diff | |
| run: git diff --color=always --no-index base/build/ pr/build/ || true |