Skip to content

feat(snap): publish prerelease builds to latest/beta channel - #4870

Merged
pimlock merged 3 commits into
NVIDIA:mainfrom
olivercalder:snap-publish-prerelease-to-latest-beta
Oct 23, 2026
Merged

pimlock merged 3 commits into
NVIDIA:mainfrom
olivercalder:snap-publish-prerelease-to-latest-beta

Conversation

@olivercalder

Copy link
Copy Markdown
Contributor

Summary

Publish the pre-release .snap artifact to the latest/beta channel of the openshell snap package on the Snap Store.

Related Issue

Closes #4869

Changes

  • Publish the pre-release .snap artifact built in CI to the latest/beta channel
  • Let OPENSHELL_VERSION=pre install.sh select the snap package from latest/beta rather than falling back to the .deb/.rpm
  • Adjust the version comparison checks for snap uploads to account for the potential -pre.X in versions
  • Update related documentation

Release Notes

Testing

  • Checks appropriate to the affected code and behavior pass
  • Unit tests added/updated (if applicable)
  • E2E tests added/updated (if applicable)

Checklist

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

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 23, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@SDAChess

Copy link
Copy Markdown
Member

The existing latest-version guard covers most out-of-order publication cases. There’s still a narrow window where an older run passes the check, then finishes uploading after a newer prerelease has published. We could close that by adding concurrency to jobs.publish in snap-publish.yml, grouped by channel and architecture:

concurrency:
  group: snap-publish-${{ inputs.upload-channel }}-${{ matrix.arch }}
  cancel-in-progress: false
  queue: max

The guard would then run after acquiring the publication slot. I’d treat this as a follow-up rather than a blocker.

The packaging test failure does need fixing. I ran bash tasks/scripts/test-packaging-assets.sh: it passes on the base but fails on this branch at the new assertion on line 222. That assertion expects:

component_args+=(--component "${component_name}=${comp}")

However, snap-publish.yml still contains:

component_args+=(--component "$comp")

It looks like the corresponding publisher change was omitted from the PR. Adding the component-name mapping would satisfy the assertion and match Snapcraft’s documented name=filename format.

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
@olivercalder

Copy link
Copy Markdown
Contributor Author

Fixed both points, thanks @SDAChess

@SDAChess

Copy link
Copy Markdown
Member

/ok-to-test d6861c9

Comment thread .github/workflows/snap-publish.yml Dismissed
@pimlock
pimlock added this pull request to the merge queue Oct 23, 2026
Merged via the queue into NVIDIA:main with commit 72e4eaa Oct 23, 2026
82 checks passed
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.

feat(snap): publish prerelease builds of the snap to the latest/beta channel

4 participants