Kludex / Kludex/zuvloop

Gate releases on exact-SHA checks and expected artifacts

Open
#162 0 comments 0 reactions 0 assignees View on GitHub
enhancement github_actions
Dominant language
Python
Stars
62
Forks
3
Avg merge
7h
Merged PRs (30d)
62

Description

Decision: Valid release-process gap.

Evidence: The active main ruleset requires the three aggregate PR checks, but strict status checking is disabled. `.github/workflows/publish.yml` verifies that a tag belongs to main and reruns a Linux ReleaseSafe preflight, but it does not require CI, compatibility, and native hardening results for the exact tagged SHA. It also publishes every downloaded artifact without checking the expected tag set.

Impact: A stale green PR result or missing platform wheel can reach PyPI if the tag workflow itself succeeds.

Next action: Run all aggregate gates on main commits or make them reusable dependencies of publish, then require successful results for `GITHUB_SHA`. Before attestation, compare the distribution set with the expected 32 wheels plus one sdist and verify every embedded version matches the tag.

Acceptance criteria: Publishing fails for missing, duplicate, unexpected, or incorrectly versioned artifacts and for any absent or unsuccessful exact-SHA gate.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with .github/workflows/publish.yml and trace how the tag workflow validates main, runs the Linux ReleaseSafe preflight, and downloads artifacts. Review the aggregate CI, compatibility, and native hardening gates and the expected distribution set. Done means publishing rejects missing, duplicate, unexpected, or incorrectly versioned artifacts and any absent or unsuccessful gate for GITHUB_SHA.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.