kind: pipeline type: docker name: build-and-test when: event: pull_request steps: - name: bootstrap-deps image: registry.niovi.voyage/harb/node-ci:latest commands: - | bash -c ' set -euo pipefail git submodule update --init --recursive yarn --cwd onchain/lib/uni-v3-lib install --frozen-lockfile ' - name: foundry-suite image: registry.niovi.voyage/harb/node-ci:latest commands: - | bash -c ' set -euo pipefail cd onchain export PATH=/root/.foundry/bin:$PATH forge --version forge build forge test -vvv forge snapshot ' - name: contracts-local-fork image: registry.niovi.voyage/harb/node-ci:latest environment: HARB_ENV: BASE_SEPOLIA_LOCAL_FORK commands: - | bash -c ' set -euo pipefail cd onchain export PATH=/root/.foundry/bin:$PATH forge test -vv --ffi ' # NOTE: contracts-base-sepolia step removed — requires base_sepolia_rpc secret # which is not configured. Re-add when RPC secret is provisioned. - name: node-quality image: registry.niovi.voyage/harb/node-ci:latest environment: CI: "true" NODE_OPTIONS: "--max-old-space-size=2048" commands: - | bash -c ' set -euo pipefail npm config set fund false npm config set audit false ./scripts/build-kraiken-lib.sh npm install --prefix landing --no-audit --no-fund npm run lint --prefix landing npm run build --prefix landing npm install --prefix web-app --no-audit --no-fund npm run lint --prefix web-app npm run test --prefix web-app -- --run npm run build --prefix web-app npm install --prefix services/ponder --no-audit --no-fund npm run lint --prefix services/ponder npm run build --prefix services/ponder npm install --prefix services/txnBot --no-audit --no-fund npm run lint --prefix services/txnBot npm run test --prefix services/txnBot npm run build --prefix services/txnBot '