| name: NPM CI | |
| on: | |
| push: | |
| branches: [master, stable] | |
| pull_request: | |
| merge_group: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build and test | |
| runs-on: blacksmith-4vcpu-ubuntu-2404 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Read .tool-versions | |
| uses: marocchino/tool-versions-action@18a164fa2b0db1cc1edf7305fcb17ace36d1c306 # v1.2.0 | |
| id: versions | |
| - name: Set up Node | |
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version: ${{steps.versions.outputs.nodejs}} | |
| - run: npm install --prefix ./assets | |
| - run: npm install --prefix ./tracker | |
| - run: npm run generate-types --prefix ./assets && git diff --exit-code -- ./assets/js/types | |
| - run: npm run typecheck --prefix ./assets | |
| - run: npm run lint --prefix ./assets | |
| - run: npm run check-format --prefix ./assets | |
| - run: npm run test --prefix ./assets | |
| - run: npm run lint --prefix ./tracker | |
| - run: npm run check-format --prefix ./tracker | |
| - run: npm run deploy --prefix ./tracker | |