Skip to content

test(conformance): verify Snap installation status in Ubuntu VM - #3182

Open
elezar wants to merge 5 commits into
2055-snap-gateway-lifecycle/ekfrom
codex/snap-status-conformance
Open

test(conformance): verify Snap installation status in Ubuntu VM#3182
elezar wants to merge 5 commits into
2055-snap-gateway-lifecycle/ekfrom
codex/snap-status-conformance

Conversation

@elezar

@elezar elezar commented Sep 4, 2026

Copy link
Copy Markdown
Member

Summary

Add a VM-based Ubuntu Snap installation check to the conformance workflow. It mirrors the Snap release canary through gateway registration and openshell status, without creating a sandbox.

Related Issue

No issue required: CI packaging coverage and workflow reuse.

Changes

  • Add Ubuntu test-guest provisioning for snapd, Docker Snap, and candidate OpenShell Snap installation.
  • Build a branch Snap and verify its installed gateway reaches openshell status.
  • Extract a reusable single-architecture Snap build workflow and use it from release packaging.

Testing

  • mise run pre-commit passes
  • Local Ubuntu VM installation/status flow passes with a candidate Snap
  • Unit tests added/updated (not applicable)
  • E2E tests added/updated (not applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)

Comment thread .github/workflows/build-snap.yml Fixed
Comment thread .github/workflows/build-snap.yml Fixed
@elezar
elezar force-pushed the codex/snap-status-conformance branch from 2f44036 to da4604b Compare September 4, 2026 10:15
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

@elezar
elezar force-pushed the codex/snap-status-conformance branch 3 times, most recently from b52d6c4 to 44549bd Compare September 4, 2026 12:54
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
@elezar
elezar force-pushed the codex/snap-status-conformance branch from 2332636 to c3e9dfe Compare September 7, 2026 09:47
Comment thread snapcraft.yaml
# Do not start before the Docker interface is available. The
# connect-plug-docker hook enables and starts the gateway after Docker
# access is granted, including for store-managed auto-connections.
install-mode: disable

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@olivercalder I was iterating on this, and it was impossible to get the package installed and connected without this change. Since the gateway service is installed in a started state, it crash loops because it can't discover a valid compute driver. At the point where the sudo snap connect openshell:docker docker:docker-daemon tries to restart the gateway in the connect-plug-docker hook, the restart is rejected because (as Codex proposes) some restart limit has been reached.

The argument of switching to install-mode: disable is then that the service will be started (and enabled) at the point where the docker plug is connected -- either automatically for installations from the Snap store directly, or manually in the case of testing.

I'm not quite certain why the existing canary infrastructure allows things to pass, but it could be that the VM-based tooling that we have now adds some other delay which allows the gateway to restart more often.

@elezar
elezar changed the base branch from main to 2055-snap-gateway-lifecycle/ek September 7, 2026 09:48
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