Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/deprecate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Deprecate Editions

on:
schedule:
- cron: '0 0 1 * *'
workflow_dispatch: {}

jobs:
deprecate:
permissions:
contents: write
pull-requests: write
uses: posit-dev/images-shared/.github/workflows/deprecate-editions.yml@main
with:
images: "workbench workbench-session-init"
update-positron-min: true
secrets:
CLIENT_ID: ${{ secrets.WORKBENCH_IDE_RELEASE_CLIENT_ID }}
APP_PRIVATE_KEY: ${{ secrets.WORKBENCH_IDE_RELEASE_PEM }}
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
version: ${{ inputs.version }}
images: "workbench workbench-session-init"
secrets:
APP_ID: ${{ secrets.WORKBENCH_IDE_RELEASE_APP_ID }}
CLIENT_ID: ${{ secrets.WORKBENCH_IDE_RELEASE_CLIENT_ID }}
APP_PRIVATE_KEY: ${{ secrets.WORKBENCH_IDE_RELEASE_PEM }}

trigger-specialized:
Expand All @@ -31,7 +31,7 @@ jobs:
id: app-token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.WORKBENCH_IDE_RELEASE_APP_ID }}
client-id: ${{ secrets.WORKBENCH_IDE_RELEASE_CLIENT_ID }}
private-key: ${{ secrets.WORKBENCH_IDE_RELEASE_PEM }}
owner: posit-dev
repositories: images-specialized
Expand Down
6 changes: 6 additions & 0 deletions bakery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ images:
- name: Ubuntu 22.04
- name: Ubuntu 24.04
primary: true
platforms:
- linux/amd64
- linux/arm64
dependencies:
- dependency: R
version: 4.6.0
Expand Down Expand Up @@ -140,6 +143,9 @@ images:
os:
- name: Ubuntu 24.04
primary: true
platforms:
- linux/amd64
- linux/arm64
- name: 2026.04.0+526.pro2
subpath: '2026.04'
os:
Expand Down
3 changes: 1 addition & 2 deletions workbench-positron-init/matrix/Containerfile.ubuntu2404
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,7 @@ LABEL org.opencontainers.image.base.name="docker.io/library/ubuntu:24.04"

ARG DEBIAN_FRONTEND=noninteractive

RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
RUN apt-get update -yqq --fix-missing && \
apt-get upgrade -yqq && \
apt-get dist-upgrade -yqq && \
apt-get autoremove -yqq --purge && \
Expand Down
16 changes: 10 additions & 6 deletions workbench-session-init/2025.09/test/goss.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@ file:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/postback:
exists: true
filetype: directory
Expand All @@ -39,11 +35,19 @@ file:
exists: true
filetype: file
mode: "0755"
/opt/session-components/bin/rhel8:
/opt/session-components/bin/rhel9:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel9:
/opt/session-components/bin/rhel10:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel8:
exists: true
filetype: directory
mode: "0755"
Expand Down
16 changes: 10 additions & 6 deletions workbench-session-init/2026.01/test/goss.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@ file:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/postback:
exists: true
filetype: directory
Expand All @@ -39,11 +35,19 @@ file:
exists: true
filetype: file
mode: "0755"
/opt/session-components/bin/rhel8:
/opt/session-components/bin/rhel9:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel9:
/opt/session-components/bin/rhel10:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel8:
exists: true
filetype: directory
mode: "0755"
Expand Down
16 changes: 10 additions & 6 deletions workbench-session-init/2026.04/test/goss.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@ file:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/postback:
exists: true
filetype: directory
Expand All @@ -39,11 +35,19 @@ file:
exists: true
filetype: file
mode: "0755"
/opt/session-components/bin/rhel8:
/opt/session-components/bin/rhel9:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel9:
/opt/session-components/bin/rhel10:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel8:
exists: true
filetype: directory
mode: "0755"
Expand Down
20 changes: 14 additions & 6 deletions workbench-session-init/2026.05/test/goss.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@ file:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/postback:
exists: true
filetype: directory
Expand All @@ -39,14 +35,26 @@ file:
exists: true
filetype: file
mode: "0755"
/opt/session-components/bin/rhel8:
/opt/session-components/bin/rhel9:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel9:
/opt/session-components/bin/rhel10:
exists: true
filetype: directory
mode: "0755"
# opensuse15 and rhel8 are only shipped in the amd64 build of the
# upstream rsp-session-multi-linux tarball.
{{- if eq .Env.IMAGE_OS_PLATFORM "linux/amd64" }}
/opt/session-components/bin/opensuse15:
exists: true
filetype: directory
mode: "0755"
/opt/session-components/bin/rhel8:
exists: true
filetype: directory
mode: "0755"
{{- end }}
/opt/session-components/bin/shared-run:
exists: true
filetype: file
Expand Down
1 change: 1 addition & 0 deletions workbench/2025.09/Containerfile.ubuntu2204.min
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down
1 change: 1 addition & 0 deletions workbench/2025.09/Containerfile.ubuntu2204.std
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down
1 change: 1 addition & 0 deletions workbench/2025.09/Containerfile.ubuntu2404.min
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down
1 change: 1 addition & 0 deletions workbench/2025.09/Containerfile.ubuntu2404.std
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.01/Containerfile.ubuntu2204.min
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.01/Containerfile.ubuntu2204.std
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.01/Containerfile.ubuntu2404.min
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.01/Containerfile.ubuntu2404.std
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.04/Containerfile.ubuntu2204.min
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down
7 changes: 7 additions & 0 deletions workbench/2026.04/Containerfile.ubuntu2204.std
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down Expand Up @@ -122,6 +123,12 @@ RUN mkdir -p /var/lib/rstudio-server/monitor/log \
### Install TinyTeX using Quarto ###
# Caches won't invalidate correctly on new releases for TinyTeX installs. This ADD instruction is a workaround to bust
# the cache on new releases.
#
# TinyTeX is installed under HOME="/opt" so the install lands at /opt/.TinyTeX,
# which is readable by non-root runtime users. `--update-path` makes tlmgr
# symlink the TinyTeX binaries into /usr/local/bin.
# TODO: Remove `HOME="/opt"` once Quarto supports custom install locations
# for TinyTeX, see https://github.com/quarto-dev/quarto-cli/issues/11800.
ADD https://github.com/rstudio/tinytex-releases/releases/latest /tmp/tinytex-release.json
RUN --mount=type=secret,id=github_token,required=false \
GH_TOKEN="$([ -s /run/secrets/github_token ] && cat /run/secrets/github_token)" HOME="/opt" /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --update-path \
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.04/Containerfile.ubuntu2404.min
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down
7 changes: 7 additions & 0 deletions workbench/2026.04/Containerfile.ubuntu2404.std
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down Expand Up @@ -122,6 +123,12 @@ RUN mkdir -p /var/lib/rstudio-server/monitor/log \
### Install TinyTeX using Quarto ###
# Caches won't invalidate correctly on new releases for TinyTeX installs. This ADD instruction is a workaround to bust
# the cache on new releases.
#
# TinyTeX is installed under HOME="/opt" so the install lands at /opt/.TinyTeX,
# which is readable by non-root runtime users. `--update-path` makes tlmgr
# symlink the TinyTeX binaries into /usr/local/bin.
# TODO: Remove `HOME="/opt"` once Quarto supports custom install locations
# for TinyTeX, see https://github.com/quarto-dev/quarto-cli/issues/11800.
ADD https://github.com/rstudio/tinytex-releases/releases/latest /tmp/tinytex-release.json
RUN --mount=type=secret,id=github_token,required=false \
GH_TOKEN="$([ -s /run/secrets/github_token ] && cat /run/secrets/github_token)" HOME="/opt" /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --update-path \
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.05/Containerfile.ubuntu2204.min
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.05/Containerfile.ubuntu2204.std
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ ENV PWB_DIAGNOSTIC_DIR=/var/log/rstudio
ENV PWB_DIAGNOSTIC_ENABLE=false
ENV PWB_EXIT_AFTER_VERIFY=false


SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

### Setup environment ###
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.05/Containerfile.ubuntu2404.min
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down
1 change: 1 addition & 0 deletions workbench/2026.05/Containerfile.ubuntu2404.std
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ ENV PWB_EXIT_AFTER_VERIFY=false

SHELL ["/bin/bash", "-euo", "pipefail", "-c"]


### Setup environment ###
RUN echo 'Acquire::Retries "3"; Acquire::http::Timeout "30"; Acquire::https::Timeout "30";' > /etc/apt/apt.conf.d/99-retries && \
apt-get update -yqq --fix-missing && \
Expand Down
Loading