woodpeckerci/plugin-git reads credentials via PLUGIN_NETRC_* env vars
(set from settings:), not CI_NETRC_* (set from environment:). The
previous fix in 57deaaa put the secret under environment:, so the
plugin never populated .netrc and git fell back to prompting, which
fails with GIT_TERMINAL_PROMPT=0.
Fix both ci.yml and e2e.yml.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
89 lines
2.6 KiB
YAML
89 lines
2.6 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: build-and-test
|
|
|
|
when:
|
|
event: pull_request
|
|
|
|
clone:
|
|
git:
|
|
image: woodpeckerci/plugin-git
|
|
settings:
|
|
depth: 50
|
|
netrc_machine: codeberg.org
|
|
netrc_username: johba
|
|
netrc_password:
|
|
from_secret: codeberg_token
|
|
|
|
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
|
|
# Root install links workspace packages (@harb/web3) + all workspace members
|
|
npm install --no-audit --no-fund
|
|
# Landing (workspace member — deps already installed by root)
|
|
npm run lint --prefix landing
|
|
npm run build --prefix landing
|
|
# Web-app (workspace member)
|
|
npm run lint --prefix web-app
|
|
npm run test --prefix web-app -- --run
|
|
npm run build --prefix web-app
|
|
# Ponder (standalone — not a workspace member)
|
|
npm install --prefix services/ponder --no-audit --no-fund
|
|
npm run lint --prefix services/ponder
|
|
npm run build --prefix services/ponder
|
|
# TxnBot (standalone)
|
|
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
|
|
'
|