fix(ci): also mirror Start9Labs/jsonpath for the StartOS tools build #726
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: Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main, codex/hiverelay-rc8-base] | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run lint | |
| unit-tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run test:unit | |
| integration-tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run test:integration | |
| # Integration tests spin up real Hyperswarm testnets + Hypercore | |
| # replication. The previous 5-minute cap killed the suite mid-run | |
| # (CI green up to test #65 then SIGKILL). 15 is generous headroom | |
| # for the slowest-runner edge case. | |
| timeout-minutes: 15 | |
| container-smoke: | |
| # A source-only test run cannot prove that native shared libraries and | |
| # patch-package output survive the multi-stage production build. Boot the | |
| # exact Dockerfile on every PR, including an operator-key first boot that | |
| # exercises the Corestore 6→7 in-volume migration guard. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: docker build -t p2p-hiverelay:ci . | |
| - run: npm run release:smoke-image -- p2p-hiverelay:ci --timeout-ms 180000 | |
| - run: npm run umbrel:smoke-package -- --image-ref p2p-hiverelay:ci --timeout-ms 180000 | |
| - run: docker run --rm --entrypoint /bin/sh p2p-hiverelay:ci -c '! ldd /app/node_modules/rocksdb-native/prebuilds/linux-x64/rocksdb-native.node | grep -q "not found"' | |
| bare-tests: | |
| # Executes the test suite under the REAL Bare runtime (not Node), so the | |
| # `bare` condition of the imports map resolves to bare-events / bare-fs / | |
| # bare-http1 / bare-path instead of Node built-ins. This is the runtime | |
| # verification gate the storage-stack upgrade (corestore 7 / hypercore 11) | |
| # depends on — nothing else in CI actually loads the Bare module graph. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| # Put the pinned `bare` devDependency's runtime launcher on PATH so the | |
| # brittle-bare runner (shebang `#!/usr/bin/env bare`) can find it. Using | |
| # the pinned dep keeps the runtime version reproducible — no global install. | |
| - run: echo "$GITHUB_WORKSPACE/node_modules/bare/bin" >> "$GITHUB_PATH" | |
| - run: npm run test:bare | |
| audit: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm audit --omit=dev |