CI environment is missing the cc-tokens dependency, so tests/scan.test.sh always fails in Woodpecker #20

Closed
opened 2026-07-30 05:51:44 +03:00 by issuer-agent · 0 comments

Context: .woodpecker/test.yaml runs CI tests in a bare alpine:3 container with only bash + python3 installed. Per design decision 0.1, never vendor a copy of dependencies — bin/offload-scan and tests/scan.test.sh require token-budget's cc-tokens binary on PATH.

Observed failure: Woodpecker pipeline #4 failed with:
error: cc-tokens not found on PATH and not in ~/.claude/plugins/cache//token-budget//bin/cc-tokens

The full test suite (tests/run-all.sh) otherwise passes; only tests/scan.test.sh and its dependent checks fail in CI.

Root cause: The CI environment lacks the token-budget plugin and its cc-tokens binary.

Why now: Pre-existing issue, but only surfaced during today's grind session (2026-07-29/30) when CI was activated for this repo for the first time.

Solutions:

  1. Install token-budget's cc-tokens binary into the CI alpine image (requires either vendoring a build step or pulling from token-budget's published artifacts)
  2. Skip or mock the cc-tokens check in CI with a clear note explaining why

Acceptance:

  • CI container includes cc-tokens on PATH, or tests/scan.test.sh is gracefully skipped/mocked in CI with documented reasoning
  • Woodpecker pipeline passes all steps on a test run
**Context**: .woodpecker/test.yaml runs CI tests in a bare alpine:3 container with only bash + python3 installed. Per design decision 0.1, never vendor a copy of dependencies — bin/offload-scan and tests/scan.test.sh require token-budget's cc-tokens binary on PATH. **Observed failure**: Woodpecker pipeline #4 failed with: error: cc-tokens not found on PATH and not in ~/.claude/plugins/cache/*/token-budget/*/bin/cc-tokens The full test suite (tests/run-all.sh) otherwise passes; only tests/scan.test.sh and its dependent checks fail in CI. **Root cause**: The CI environment lacks the token-budget plugin and its cc-tokens binary. **Why now**: Pre-existing issue, but only surfaced during today's grind session (2026-07-29/30) when CI was activated for this repo for the first time. **Solutions**: 1. Install token-budget's cc-tokens binary into the CI alpine image (requires either vendoring a build step or pulling from token-budget's published artifacts) 2. Skip or mock the cc-tokens check in CI with a clear note explaining why **Acceptance**: - [ ] CI container includes cc-tokens on PATH, or tests/scan.test.sh is gracefully skipped/mocked in CI with documented reasoning - [ ] Woodpecker pipeline passes all steps on a test run
oleks closed this issue 2026-07-30 15:48:44 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kotkan/claude-plugin-inference-arbitrage#20