Skip to content

feat(release): lock project selections and guard uploads - #14

Merged
gaborbernat merged 4 commits into
mainfrom
feat/full-project-lock
Oct 24, 2026
Merged

gaborbernat merged 4 commits into
mainfrom
feat/full-project-lock

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Use released release-creator locks to refresh and check the full selectable pylock.toml: runtime dependencies, every group and extra, build requirements, and supported platform and Python markers. Pull request checks reproduce the committed lock, while privileged jobs install only their selected, cooled release groups. Secondary build matrix locks continue to use Nab.

Check every changed hook configuration from bots and people for immutable revisions, revision age, and its complete cooled Python dependency closure. This migration adds the first managed pins while the base has none; later human edits to managed pins remain blocked, and the complete closure check applies in both cases. Release preparation checks the frozen closure again, and shared prek steps enforce the seven-day cutoff and PyPI source settings when hooks install.

Before uploading a signed ZIP, the JetBrains Marketplace Action checks prior tag runs and release deployments. A matching acceptance receipt also verifies the earlier signed ZIP and notes bytes. Callers need deployments: read and a release environment. An earlier deployment without a verified receipt stops the rerun for manual reconciliation; the README gives the steps for inspecting an upload and clearing a proven stale deployment. This also covers runs whose Actions history has expired, though a contributor-only earlier deployment can require manual review.

Marketplace can accept an upload before the workflow records its result. Check prior attempts and signed artifacts before retrying; require manual reconciliation when acceptance is uncertain.
Use the released full-lock exporter for PR checks and weekly refreshes while keeping privileged installs on selected cooled groups.

Check frozen hook revisions and their complete cooled dependency closure before PR merge and tagged release execution. Preserve secondary Nab build matrices.
@gaborbernat gaborbernat added bug Something isn't working enhancement New feature or request labels Oct 24, 2026
A repository with no managed hook pins needs one reviewed PR to add the complete cooled closure. Keep subsequent human changes to managed pins blocked.

Set author identity in scratch Git repositories so cutoff tests run on hosted runners.
A human could move a managed pin to another hook while preserving the global pin count. Compare pins by repository and hook identity, and reject duplicate identities when managed pins exist.
@gaborbernat
gaborbernat merged commit 5462a40 into main Oct 24, 2026
11 checks passed
@gaborbernat
gaborbernat deleted the feat/full-project-lock branch October 24, 2026 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant