Skip to content

feat(ci): add backwards compatibility e2e tests to CI pipeline#22606

Open
benesjan wants to merge 1 commit intobackport-to-v4-next-stagingfrom
jan/f-550-integrate-old-contract-artifact-new-stack-backwards
Open

feat(ci): add backwards compatibility e2e tests to CI pipeline#22606
benesjan wants to merge 1 commit intobackport-to-v4-next-stagingfrom
jan/f-550-integrate-old-contract-artifact-new-stack-backwards

Conversation

@benesjan
Copy link
Copy Markdown
Contributor

Summary

  • Wires CONTRACT_ARTIFACTS_VERSION-based compat testing into the release flow (F-550)
  • On v4 releases, runs all simple e2e tests against contract artifacts from every prior stable tag (>= v4.2.0), validating new-client/old-contracts compatibility
  • Blocking for stable/RC releases, report-only for nightlies
  • ci-skip-compat-e2e label escape hatch makes failures non-blocking on release PRs
  • Triggered on release tags, current nightly tags, or ci-compat-e2e/ci-release-pr PR labels

Changes

  • .github/ci3_labels_to_env.shci-skip-compat-e2e label handling
  • .github/workflows/ci3.yml — new ci-compat-e2e job
  • ci.shcompat-e2e EC2 provisioning command
  • bootstrap.shci-compat-e2e mode: discovers stable tags, generates and runs compat test commands
  • yarn-project/end-to-end/bootstrap.shcompat_test_cmds function: generates e2e commands with CONTRACT_ARTIFACTS_VERSION set

Test plan

  • Apply ci-compat-e2e label to this PR to trigger the job and verify it discovers versions and runs tests
  • Verify job skips cleanly on v5 branches (no prior stable tags)
  • Verify nightly tag triggers with continue-on-error: true
  • Verify ci-skip-compat-e2e label makes job non-blocking

🤖 Generated with Claude Code

Wires CONTRACT_ARTIFACTS_VERSION-based compat testing into the release flow.
On v4 releases, runs all simple e2e tests against contract artifacts from
every prior stable tag (>= v4.2.0), validating new-client/old-contracts
compatibility.

- Blocking for stable/RC releases, report-only for nightlies
- ci-skip-compat-e2e label escape hatch for release PRs
- Triggered on release tags, nightly tags, or ci-compat-e2e/ci-release-pr labels

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@benesjan benesjan requested a review from charlielye as a code owner April 16, 2026 14:19
@benesjan benesjan added ci-skip ci-full Run all master checks. ci-release-pr Creates a development tag and runs the release suite and removed ci-skip labels Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run all master checks. ci-release-pr Creates a development tag and runs the release suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant