ci: run integration tests against live Tempo container, remove mocks#127
ci: run integration tests against live Tempo container, remove mocks#127brendanjryan merged 1 commit intomainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb8836b120
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| docker pull ghcr.io/tempoxyz/tempo:${TEMPO_TAG} | ||
| docker save ghcr.io/tempoxyz/tempo:${TEMPO_TAG} -o /tmp/tempo-image.tar |
There was a problem hiding this comment.
Use one Tempo tag for cache and runtime image
The integration job caches/pulls ghcr.io/tempoxyz/tempo:${TEMPO_TAG} here, but docker compose up starts the Tempo service from docker-compose.yml (ghcr.io/tempoxyz/tempo:v1.5.2), so this cached image is never used. In practice this adds unnecessary registry traffic and cache churn, and CI is not actually exercising the image selected by TEMPO_TAG, which can hide regressions when the intended test target changes.
Useful? React with 👍 / 👎.
| env: | ||
| TEMPO_TAG: latest | ||
| steps: | ||
| - uses: actions/checkout@v4 |
There was a problem hiding this comment.
Pin integration actions to immutable SHAs
This job switches to floating action tags (actions/checkout@v4 and astral-sh/setup-uv@v4) while the rest of the workflow uses commit-pinned actions. Using mutable tags makes CI behavior non-reproducible and can unexpectedly break or change security posture when upstream retags/releases, so this introduces avoidable supply-chain and stability risk in a required gate.
Useful? React with 👍 / 👎.
886148b to
525070e
Compare
525070e to
22c034f
Compare
Summary
Run integration tests against a real Tempo devnet + Redis in CI. Replace mock-based charge tests with integration tests.
CI Changes
integrationjob that starts devnet + Redis viadocker compose up -d --wait, runspytest -m "integration or redis"(fixes gap where Redis integration tests were not exercised in CI)ci-gaterequired jobsTests Added (integration)
test_verify_hash_replay_rejected_with_storetest_verify_hash_replay_allowed_without_storetest_verify_hash_store_records_on_successtest_verify_hash_tx_not_foundtest_verify_external_id_propagatedTests Removed (mocks)
test_tempo.py(now covered by integration)test_stores_redis.pyentirely (all 8 tests covered bytest_stores_redis_integration.py, now run in CI viaredismarker)