ci: enable Woodpecker on cl8y-dex-terraclassic so PR statuses are real #1247
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#1247
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Forgejo
mainrequires status contextci/woodpecker/pr/woodpecker. This repo had no.woodpecker.yamluntil the #1236 merge batch.ci.cl8y.comis up, but Woodpecker did not post statuses on these PRs (repo likely not enabled, or the agent cannot reach OpenBao forWOODPECKER_TOKEN).During #1226 / #1233 / #1235 / #1236 / #1238 / #1239 / #1241 / #1242 / #1244 / #1245, merges used a local
scripts/ci/gitleaks-scan-tracked.shrun plus a Forgejo commit status with that context, thenPOST /pulls/{n}/mergewith{"Do":"merge"}.Do not use
force_merge: true. #1239 was marked merged (63006679…) whileb33d3a2awas not an ancestor oforigin/main. Reland was #1242; Makefile truncation recovery was #1244. Later PRs merged withoutforce_mergeand did update git..woodpecker.yamlis already onmain(alpine digest-pinned, gitleaks v8.30.0,scripts/ci/gitleaks-scan-tracked.sh). This ticket is enablement + real status posts, not another pipeline rewrite.OpenBao at
10.10.0.4:8200was unreachable from the operator workstation (CL8Y WireGuard down). Do not paste tokens into the issue.Acceptance criteria
ci/woodpecker/pr/woodpeckerstatus from Woodpecker (not a manual Forgejo POST).mainbranch protection still requires that context. Admins do not need to weaken it.maintainersself-request if the only member cannot approve their own PR; neverforce_merge.Constraints
indexer/into root Docker for cargo.Ops probe 2026-09-12
.woodpecker.yamlis already onmain(digest-pinned alpine + gitleaks v8.30.0).https://ci.cl8y.comreturns 200. This workstation cannot enable the repo: OpenBaoWOODPECKER_TOKENis behindwg-quick@wg0(inactive). Directbao login→ context deadline exceeded.AC3 (docs)
Merge recipe is now
docs/runbooks/forgejo-pr-merge.md(also linked fromdocs/testing.md§ CI):@code/maintainersself-request when the only member cannot approve their own PR.force_merge.ci/woodpecker/pr/woodpeckerstatus once Woodpecker is posting for real.Founder (AC1)
After WireGuard +
bao-exec --check:Then enable
code/cl8y-dex-terraclassicon https://ci.cl8y.com (trusted Forgejo org admin). After it has a numeric repo id in the Woodpecker UI, from/home/answorld/repos/cl8y-forgejo:bao-exec --only WOODPECKER_TOKEN -- python3 scripts/woodpecker_ops.py trust-network --repo-idplus that id.Do not put secrets on this repo.
trust-networkis optional (lets pipeline containers reach the Coolify network; this YAML is gitleaks-only).Do not put the token in the issue. Do not weaken
mainprotection. AC4 (port cargo/frontend/indexer jobs) stays optional.Leaving open until a PR gets a real Woodpecker status (not a manual Forgejo POST).
Merge recipe is commit
e31fa2e6(docs/runbooks/forgejo-pr-merge.md). It is not onorigin/mainuntil that commit is pushed (branch protection still wants a real Woodpecker status). Use the local file until then.Woodpecker: all
code/*enabledOperator request this turn: enable every Forgejo
code/*repo onci.cl8y.com, not only this DEX repo.Result
codehas 44 repositories.require_approval=forks,allow_deploy=false,trusted.network=true, volumes/security off).code/hello(wp 1),code/listing-api(wp 2),code/cl8y-dex-terraclassic(wp 7, activated first as the probe).https://ci.cl8y.com/api/hook(push + pull_request events). Same hook shape verified oncode/cl8y-bridge-monorepo.main(gitleaks) finished success. That is a real Woodpecker run, not a forged commit status.AC1 still open until a PR
Branch protection wants context
ci/woodpecker/pr/woodpecker. The success above wasevent=manualonmain. Close this issue after the next PR shows that PR context from Woodpecker (opendocs/1247-forgejo-merge-recipeor any real PR). Do notforce_merge.Out of scope
PlasticDigits/*private ops repos were already enabled (4). Unchanged.code/*repos created later are not auto-enabled; activate withPOST /api/repos?forge_remote_id={forge_id}as Woodpecker admin.WOODPECKER_ORGSstayscl8y(did not add orgcodeto the login allowlist).