Merge pull request #222 from ePlus-DEV/dependabot/npm_and_yarn/produc… #800
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: CI | |
| on: | |
| push: | |
| branches: [main, dev] | |
| pull_request: | |
| branches: [main, dev] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| ci: | |
| name: Type Check, Test & Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Validate GitHub Actions workflows | |
| env: | |
| ACTIONLINT_VERSION: 1.7.12 | |
| ACTIONLINT_SHA256: 8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8 | |
| run: | | |
| set -euo pipefail | |
| curl -fsSL \ | |
| "https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" \ | |
| -o actionlint.tar.gz | |
| echo "${ACTIONLINT_SHA256} actionlint.tar.gz" | sha256sum --check | |
| tar -xzf actionlint.tar.gz actionlint | |
| ./actionlint -shellcheck= -pyflakes= -color | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 24.x | |
| cache: yarn | |
| cache-dependency-path: yarn.lock | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile --ignore-scripts --ignore-engines | |
| - name: Prepare WXT types | |
| run: yarn wxt prepare | |
| - name: Compile TypeScript | |
| id: compile | |
| continue-on-error: true | |
| shell: bash | |
| run: | | |
| set -o pipefail | |
| yarn compile --pretty false 2>&1 | tee compile.log | |
| - name: Upload TypeScript diagnostics | |
| if: steps.compile.outcome == 'failure' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: typescript-diagnostics | |
| path: compile.log | |
| if-no-files-found: error | |
| - name: Fail on TypeScript errors | |
| if: steps.compile.outcome == 'failure' | |
| run: exit 1 | |
| - name: Run tests with coverage | |
| run: yarn test:coverage | |
| - name: Upload coverage report | |
| if: success() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: coverage-report | |
| path: coverage/ | |
| retention-days: 7 | |
| - name: Build extension | |
| run: yarn build |