Repository navigation
Add workbench-session-complete image - #217
Open
ianpittwood wants to merge 3 commits into
Open
ianpittwood wants to merge 3 commits into
ianpittwood wants to merge 3 commits into
Conversation
Copy session-complete from images-specialized at 2026.09 as workbench-session-complete: a workbench-session base with the full Workbench deb installed, so sessions need no workbench-session-init init container. Publishes to Docker Hub and GHCR via the existing production workflow. The image is a rolling release that keeps only the latest Workbench version. A new release-session-complete job in release.yml updates it on the release branch: same-edition patches update in place, edition bumps create the new version and remove the old one, and backports to older editions are skipped.
Move workbench-session-complete out of production.yml into its own build-complete job in session.yml, which runs after the session matrix build so it layers onto the freshly rebuilt workbench-session base. production.yml excludes it with a negative-lookahead image-name filter.
The amd64-only restriction came from the libnss_pwb symlink path, which the Containerfile and goss suite hardcoded as x86_64-linux-gnu. The arm64 rstudio-server deb's postinst already links the correct aarch64-linux-gnu path, so derive the triplet from `uname -m` instead and add linux/arm64 to the platforms.
ianpittwood
marked this pull request as ready for review
October 9, 2026 18:19
ianpittwood
requested review from
GCRev,
bschwedler,
skyeturriff,
ssinnott and
zachhannum
as code owners
October 9, 2026 18:19
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves
session-completefrom images-specialized into this repo asworkbench-session-complete. The image is copied at its latest version, 2026.09 (2026.09.0+174.pro3).The image is
workbench-session(ubuntu-26.04-{std,min}) with the full Workbench deb installed. Its session components are built in, so sessions run without aworkbench-session-initinit container.build-completejob insession.ymlbuilds it after theworkbench-sessionmatrix, so it uses the freshly rebuilt base.production.ymlexcludes it with theimage-namefilter^(?!workbench-session-complete$). It publishes todocker.io/posit/workbench-session-completeandghcr.io/posit-dev/workbench-session-complete.COPYline.linux/amd64andlinux/arm64. images-specialized built amd64 only because the template hardcoded thex86_64-linux-gnupath tolibnss_pwb.so.2. The arm64rstudio-serverdeb's postinst already linksaarch64-linux-gnu, so the Containerfile and goss suite now take the triplet fromuname -m.Rolling release
bakery.yamlkeeps only the latest Workbench version. A newrelease-session-completejob inrelease.ymlruns after the sharedproduct-releasejob. It works on the samerelease/<version>branch, so the change lands in the same release PR.bakery update versionin placebakery create version --mark-latest, thenbakery remove versionon the old oneThe README tag examples use the short version form (e.g.
2026.09.0-ubuntu-26.04), so the README rewrite inproduct-releasekeeps them current.Testing
bakery update filesrenders matching output, andbakery get tagsshows the expected Docker Hub and GHCR tags.pre-commitpasses, including actionlint and shellcheck.Before merging
posit/workbench-session-completeexists, and the push token can write to it.Follow-up
Remove
session-completefrom images-specialized, both the image and its entry in that repo'srelease.yml.