Skip to content

UID2-7340: publish operator release as pre-release instead of draft#2617

Merged
BehnamMozafari merged 2 commits into
mainfrom
bmz-UID2-7340-operator-prerelease
Jun 23, 2026
Merged

UID2-7340: publish operator release as pre-release instead of draft#2617
BehnamMozafari merged 2 commits into
mainfrom
bmz-UID2-7340-operator-prerelease

Conversation

@BehnamMozafari

@BehnamMozafari BehnamMozafari commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

publish-all-operators.yaml cuts the GitHub Release carrying the private-operator deployment zips (AWS/Azure/GCP) and enclave-ID manifests as a draft. Publishing a draft is a manual click most people skip, so release notes are silently lost and GET /releases/tags/{tag} 404s even though the git tag exists.

This PR publishes that release as a pre-release (draft:false, prerelease:true) instead — durable and fetchable by tag without claiming GA.

What is unchanged

  • Major-release approval gate — still the check_major job (publish-major environment).
  • Manual promote-to-Latest — still the deliberate GA checkpoint, done in the UI. Nothing here auto-marks the release as Latest.

This is the companion to IABTechLab/uid2-shared-actions#242, which makes the same draft→pre-release change for services going through the shared publish workflows. The operator's public docker image already flows through that shared java-docker workflow; this PR covers the private operator artifacts cut inline here.

Validation

The full pipeline can't run off a fork (enclave builds, AMIs, attestation need cloud creds + signing), so the changed createRelease step was replicated faithfully — including the files: deployment-zip asset uploads — in a throwaway repo (UnifiedID2/bmz-prerelease-smoke):

Check Result
draft:false + prerelease:true release published as a pre-release, not a draft
explicit tag_name attaches to v<version>; GET /releases/tags/v<version>200 (was 404 on drafts)
files: asset upload all three deployment zips (aws-uid2, azure-cc, gcp-oidc) attached to the published pre-release

The added tag_name matters: softprops defaults it to github.ref_name (the dispatch branch), which the draft masked (a draft carries no tag until manually published). Without it the published release would attach to main and get-by-tag would still 404 — the tag already exists from the start job's commit_pr_and_merge.

🤖 Generated with Claude Code

BehnamMozafari and others added 2 commits June 23, 2026 11:39
publish-all-operators.yaml created the GitHub Release (private-operator
deployment zips + enclave-ID manifests) as a draft, which requires a manual
publish click that is usually skipped — silently losing release notes and
404ing on get-by-tag. Publish it as a pre-release instead: durable and
fetchable by tag without claiming GA.

The Major-release approval gate (check_major job) is unchanged, and promoting
the release to Latest in the UI stays the deliberate manual GA checkpoint.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
softprops defaults tag_name to github.ref_name (the dispatch branch, e.g.
main) — not the version tag. The draft masked this; a published release needs
the tag now or get-by-tag would still 404. The v<version> tag already exists,
pushed by the start job's commit_pr_and_merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@BehnamMozafari BehnamMozafari merged commit 22e3b81 into main Jun 23, 2026
9 checks passed
@BehnamMozafari BehnamMozafari deleted the bmz-UID2-7340-operator-prerelease branch June 23, 2026 05:34
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.

2 participants