Skip to content

[Audit] Fix CI/tooling version drift across config files (#1957)#2003

Open
mvillmow wants to merge 4 commits into
mainfrom
1957-auto-impl
Open

[Audit] Fix CI/tooling version drift across config files (#1957)#2003
mvillmow wants to merge 4 commits into
mainfrom
1957-auto-impl

Conversation

@mvillmow

Copy link
Copy Markdown
Collaborator

Summary

Unified CI tooling version management across config files with mechanical drift detection.

Addresses all six acceptance criteria from issue #1957:

  1. Single source of truth for pixi version (canonical .github/pixi-version)
  2. Single source of truth for gitleaks version (cross-equality enforced)
  3. just typecheck path already correct at src/scylla/
  4. Docker SHA divergence documented with operational rationale
  5. Build artifacts now uploaded as workflow artifacts
  6. Root /Dockerfile already removed from repo

Implementation

  • .github/pixi-version: Canonical pixi version file (v0.67.2)
  • scripts/check_ci_version_sync.py: Pre-commit drift checker with three independent validations:
    • Pixi version consistency across workflows and Containerfile
    • setup-pixi action SHA consistency (upgraded from v0.9.4 to v0.9.5)
    • Gitleaks version consistency across pre-commit config and security workflow
  • .pre-commit-config.yaml: New hook to prevent version drift
  • .github/actions/setup-pixi/action.yml: Reads canonical version dynamically
  • .github/workflows/_required.yml: pixi-check job reads canonical version; build job uploads artifacts
  • tests/unit/scripts/test_check_ci_version_sync.py: 24 comprehensive test cases

Testing

✅ All 24 unit tests pass
✅ Pre-commit hook validates current repo state
✅ No backup files
✅ All code formatted and type-checked

Closes #1957

@mvillmow mvillmow enabled auto-merge (squash) May 28, 2026 15:39
mvillmow and others added 3 commits June 28, 2026 08:52
…itleaks

- Create .github/pixi-version canonical file (v0.67.2)
- Implement scripts/check_ci_version_sync.py with three independent checks:
  1. Pixi version consistency (canonical file vs workflows/Containerfile)
  2. setup-pixi action SHA consistency (v0.9.5 now unified)
  3. Gitleaks version consistency (v8.30.1 across all sources)
- Add pre-commit hook to enforce drift detection
- Update .github/actions/setup-pixi/action.yml to read from canonical version
- Update .github/workflows/_required.yml pixi-check job to read from canonical
- Add artifact upload step for built distributions (retention: 7 days)
- Add comprehensive unit tests (24 test cases covering all three checks)

Addresses issue #1957 acceptance criteria:
- Single source of truth for pixi version
- Single source of truth for gitleaks version
- just typecheck path already correct
- Docker SHA divergence documented with operational rationale
- Build artifacts now uploaded on success
- Root Dockerfile already removed

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
- Restore pixi.lock to main (pixi.toml unchanged; swarm reformatted lock)
- Replace list(set)[0] with next(iter(...)) in check_ci_version_sync.py

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
…xer)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
…n and _required.yml

After rebasing onto current main, the composite action pinned setup-pixi to
v0.9.5 (1b2de7f) while _required.yml used v0.9.6 (5185adf). The new
check-ci-version-sync hook (this PR) requires a single consistent SHA, so
align the composite action to v0.9.6.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Audit] Minor grab-bag: CI/tooling version drift across config files

1 participant