Skip to content

fix(ci): also mirror Start9Labs/jsonpath for the StartOS tools build #726

fix(ci): also mirror Start9Labs/jsonpath for the StartOS tools build

fix(ci): also mirror Start9Labs/jsonpath for the StartOS tools build #726

Workflow file for this run

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