Skip to content

fix(ci): keep Release Dev publishing when the snap upload or a Go tag breaks it - #5018

Merged
matthewgrossman merged 1 commit into
mainfrom
fix/release-dev-unstick/matthewgrossman
Oct 28, 2026
Merged

matthewgrossman merged 1 commit into
mainfrom
fix/release-dev-unstick/matthewgrossman

Conversation

@matthewgrossman

@matthewgrossman matthewgrossman commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Summary

Release Dev has not published since Oct 21. This fixes the two causes on our side: a Go SDK tag breaks version computation, and a failed Snap Store upload holds back the whole dev publication.

Related Issue

Build fix; no separate issue (CONTRIBUTING.md exception for authors with write access).

Failures:

  • Since 2026-10-28 00:20 UTC, every Release Dev run has failed in Compute Versions with ValueError: Can't parse version from tag 'sdk/go/v0.1.6'. The stable release tags sdk/go/vX.Y.Z on the release commit, git describe picks it, and setuptools-scm cannot parse it. This recurs after every stable release until the next -pre.1 exists.
  • Before that, every run failed at Publish snap because of a store-side review block. release-dev needs publish-snap, so the dev tag and release, GHCR :dev, Helm 0.0.0-dev, the dev wheel, and dev docs have all been frozen at 229382e51.

Changes

  • pyproject.toml: limit setuptools-scm to v[0-9]* tags.
  • release-dev.yml: release-dev needs build-snap instead of publish-snap. The snap files are still attached to the dev release; a failed Store upload still shows as a failed job but no longer blocks the rest of the dev publication.

Why release-dev waited on the upload: before #4198, build-snap both built and uploaded to latest/edge, so needing it implied waiting for the upload. #4198 split the job and kept that ordering on purpose to avoid changing behavior during the refactor, not because anything needs it.

What reads the snap, and the effect of this change:

  • install.sh with the dev version and OPENSHELL_INSTALL_METHOD=snap installs from latest/edge in the Store, not from the GitHub Release. No change.
  • Release Canary installs from latest/edge but only runs when the whole Release Dev run succeeds. A failed upload still fails the run, so the canary still skips it.
  • The .snap files are still attached to the dev GitHub Release, downloaded from the build-snap artifacts.

Tradeoff: while the Store rejects uploads, the dev release and latest/edge can point to different commits.

Testing

  • On ac7f615 (v0.1.6), git describe --tags --long returns sdk/go/v0.1.6-0-…; with --match 'v[0-9]*' it returns v0.1.6-0-….
  • On a main checkout without a v0.1.7-pre.1 tag, uv run python tasks/scripts/release.py get-version --dev --python failed before this change and returned 0.1.7.dev15+g6188420e9 with it.
  • release.py computes release and dev versions with its own tag logic, and wheel builds set SETUPTOOLS_SCM_PRETEND_VERSION_FOR_OPENSHELL, so the tag filter only affects local and editable installs.
  • actionlint passes; zizmor --offline findings unchanged from main.

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

… breaks it

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
@matthewgrossman
matthewgrossman added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 2fb8d78 Oct 28, 2026
85 checks passed
@matthewgrossman
matthewgrossman deleted the fix/release-dev-unstick/matthewgrossman branch October 28, 2026 23:02
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