From 61d7734fe982f260e59d5aac45bcaadde0343e1e Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Fri, 25 Oct 2024 15:10:50 -0600 Subject: [PATCH 01/14] Always install and upgrade pip and setuptools on WAML image --- workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 index 9cc5faec..19ec889f 100644 --- a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 +++ b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 @@ -103,8 +103,10 @@ RUN /opt/python/"${PYTHON_VERSION_JUPYTER}"/bin/python -m venv /opt/python/jupyt ### Install basic data science packages for Python and R ### COPY deps/* / -RUN /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install -r /tmp/py_packages.txt \ +RUN /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install -U pip setuptools \ + && /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install -r /tmp/py_packages.txt \ && /opt/python/${PYTHON_VERSION}/bin/python3 -m pip cache purge \ + && /opt/python/${PYTHON_VERSION_ALT}/bin/python3 -m pip install -U pip setuptools \ && /opt/python/${PYTHON_VERSION_ALT}/bin/python3 -m pip install -r /tmp/py_packages.txt \ && /opt/python/${PYTHON_VERSION_ALT}/bin/python3 -m pip cache purge \ && rm /tmp/py_packages.txt From 44a7d4e0ea21947deb9fa351f40403438fc2042a Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 28 Oct 2024 09:51:23 -0600 Subject: [PATCH 02/14] Switch from `azure` to `azure-sdk` package Downgrade Python 3.12 to 3.11 for AML --- docker-bake.hcl | 3 ++- workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 | 4 ++-- workbench-for-microsoft-azure-ml/deps/py_packages.txt | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index 6e5e9bc5..090a157e 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -96,6 +96,7 @@ function get_tags { variable BASE_BUILD_MATRIX { default = { builds = [ + {os = "ubuntu2204", r_primary = "4.4.1", r_alternate = "4.3.3", py_primary = "3.11.10", py_alternate = "3.10.15"}, {os = "ubuntu2204", r_primary = "4.4.0", r_alternate = "4.3.3", py_primary = "3.12.1", py_alternate = "3.11.7"}, {os = "ubuntu2204", r_primary = "4.4.1", r_alternate = "4.3.3", py_primary = "3.12.6", py_alternate = "3.11.10"}, ] @@ -191,7 +192,7 @@ variable WORKBENCH_GOOGLE_CLOUD_WORKSTATION_BUILD_MATRIX { variable WORKBENCH_MICROSOFT_AZURE_ML_BUILD_MATRIX { default = { builds = [ - {os = "ubuntu2204", r_primary = "4.4.1", r_alternate = "4.3.3", py_primary = "3.12.6", py_alternate = "3.11.10"}, + {os = "ubuntu2204", r_primary = "4.4.1", r_alternate = "4.3.3", py_primary = "3.11.10", py_alternate = "3.10.15"}, ] } } diff --git a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 index 19ec889f..bb6fd765 100644 --- a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 +++ b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 @@ -103,10 +103,10 @@ RUN /opt/python/"${PYTHON_VERSION_JUPYTER}"/bin/python -m venv /opt/python/jupyt ### Install basic data science packages for Python and R ### COPY deps/* / -RUN /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install -U pip setuptools \ +RUN /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install -U pip setuptools wheel \ && /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install -r /tmp/py_packages.txt \ && /opt/python/${PYTHON_VERSION}/bin/python3 -m pip cache purge \ - && /opt/python/${PYTHON_VERSION_ALT}/bin/python3 -m pip install -U pip setuptools \ + && /opt/python/${PYTHON_VERSION_ALT}/bin/python3 -m pip install -U pip setuptools wheel \ && /opt/python/${PYTHON_VERSION_ALT}/bin/python3 -m pip install -r /tmp/py_packages.txt \ && /opt/python/${PYTHON_VERSION_ALT}/bin/python3 -m pip cache purge \ && rm /tmp/py_packages.txt diff --git a/workbench-for-microsoft-azure-ml/deps/py_packages.txt b/workbench-for-microsoft-azure-ml/deps/py_packages.txt index 14a2b945..8df3ab80 100644 --- a/workbench-for-microsoft-azure-ml/deps/py_packages.txt +++ b/workbench-for-microsoft-azure-ml/deps/py_packages.txt @@ -1,4 +1,4 @@ -azureml +azureml-sdk azureml-core azureml-dataset-runtime azure-ai-ml From 803089269f42f515ef18b35428b8cf696b8ad6da Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 28 Oct 2024 14:53:23 -0600 Subject: [PATCH 03/14] Revert "Disable Azure ML image build for now" This reverts commit ea37e1d1d22c0dfc9fcd4fd94681321f39fe849d. --- .github/workflows/build-bake.yaml | 43 +++++++++++++++++++++++++++- .github/workflows/build-manual.yaml | 6 ++-- .github/workflows/update-readme.yaml | 1 + 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-bake.yaml b/.github/workflows/build-bake.yaml index be7b55e7..c1c67e11 100644 --- a/.github/workflows/build-bake.yaml +++ b/.github/workflows/build-bake.yaml @@ -6,7 +6,7 @@ on: - main - dev pull_request: - + name: Release - Build, Test, and Push jobs: setup: @@ -374,3 +374,44 @@ jobs: snyk-org: ${{ secrets.SNYK_ORG }} snyk-token: '${{ secrets.SNYK_TOKEN }}' + workbench-for-microsoft-azure-ml: + needs: [setup] + name: Workbench for Microsoft Azure ML + runs-on: ubuntu-latest-8x + + concurrency: + group: bake-waml-${{ github.ref }} + cancel-in-progress: true + + env: + target: workbench-for-microsoft-azure-ml + GIT_SHA: ${{ needs.setup.outputs.GIT_SHA }} + + steps: + - name: Checkout + if: github.event_name == 'schedule' + uses: actions/checkout@v4 + with: + ref: 'main' + + - name: Checkout + if: github.event_name != 'schedule' + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + id: setup-buildx + with: + buildkitd-config: ./share/buildkitd.toml + + - name: Build, Test, and Push + uses: ./.github/actions/bake-test-push + with: + target: ${{ env.target }} + push-image: ${{ github.ref == 'refs/heads/main' || github.event_name == 'schedule' }} + ghcr-token: ${{ secrets.GITHUB_TOKEN }} + dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} + dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + gcp-json: '${{ secrets.GCP_ARTIFACT_REGISTRY_JSON }}' + snyk-org: ${{ secrets.SNYK_ORG }} + snyk-token: '${{ secrets.SNYK_TOKEN }}' diff --git a/.github/workflows/build-manual.yaml b/.github/workflows/build-manual.yaml index e9ceb46b..2f991774 100644 --- a/.github/workflows/build-manual.yaml +++ b/.github/workflows/build-manual.yaml @@ -126,7 +126,7 @@ jobs: else VERSION="${{ inputs.version }}" fi - + # Set the appropriate env var suffix="_VERSION" if [[ "${{ inputs.type }}" == "preview" ]]; then @@ -134,7 +134,7 @@ jobs: elif [[ "${{ inputs.type }}" == "daily" ]]; then suffix="_DAILY_VERSION" fi - + product="${{ inputs.product }}" if [[ "$product" == "connect" ]] || [[ "$product" == "connect-content-init" ]] || [[ "$product" == "content-images" ]]; then product="CONNECT" @@ -143,7 +143,7 @@ jobs: else product="WORKBENCH" fi - + echo "Setting $product$suffix=$VERSION" echo "$product$suffix=$VERSION" >> $GITHUB_ENV diff --git a/.github/workflows/update-readme.yaml b/.github/workflows/update-readme.yaml index 78a9db22..0e264b21 100644 --- a/.github/workflows/update-readme.yaml +++ b/.github/workflows/update-readme.yaml @@ -24,6 +24,7 @@ jobs: - {prefix: '', repository: 'content-pro', readme_path: './content/pro/README.md'} - {prefix: 'rstudio-', repository: 'package-manager', readme_path: './package-manager/README.md'} - {prefix: '', repository: 'r-session-complete', readme_path: './r-session-complete/README.md'} + - {prefix: 'rstudio-', repository: 'workbench-for-microsoft-azure-ml', readme_path: './workbench-for-microsoft-azure-ml/README.md'} steps: - name: Check Out Repo From d340c7a8db106c034b365e3ffe3495fab4a18323 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Mon, 28 Oct 2024 21:55:17 -0400 Subject: [PATCH 04/14] add bake preview prototype for workbench session init container --- docker-bake.preview.hcl | 25 +++++++++++++++++++ tools/get-version.py | 2 +- workbench-session-init/Dockerfile.ubuntu2204 | 26 ++++++++++++++++++++ workbench-session-init/run.sh | 15 +++++++++++ 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 workbench-session-init/Dockerfile.ubuntu2204 create mode 100644 workbench-session-init/run.sh diff --git a/docker-bake.preview.hcl b/docker-bake.preview.hcl index 400b13f7..9b6c3c5a 100644 --- a/docker-bake.preview.hcl +++ b/docker-bake.preview.hcl @@ -163,6 +163,14 @@ variable WORKBENCH_BUILD_MATRIX { } } +variable WORKBENCH_SESSION_INIT_BUILD_MATRIX { + default = { + builds = [ + {os = "ubuntu2204"}, + ] + } +} + ### Group definitions ### group "default" { targets = [ @@ -450,3 +458,20 @@ target "workbench-preview" { RSW_DOWNLOAD_URL = get_rsw_download_url(builds.os) } } + +target "workbench-session-init-daily" { + inherits = ["base"] + target = "build" + + name = "workbench-session-init-daily-${builds.os}-${replace(tag_safe_version(WORKBENCH_DAILY_VERSION), ".", "-")}" + tags = get_tags(builds.os, "workbench-session-init-preview", WORKBENCH_DAILY_VERSION, "daily") + + dockerfile = "Dockerfile.${builds.os}" + context = "workbench-session-init" + + matrix = WORKBENCH_SESSION_INIT_BUILD_MATRIX + + args = { + RSW_VERSION = WORKBENCH_DAILY_VERSION + } +} diff --git a/tools/get-version.py b/tools/get-version.py index 411d18ea..bba275d1 100755 --- a/tools/get-version.py +++ b/tools/get-version.py @@ -97,7 +97,7 @@ def clean_product_selection(product: str) -> str: def rstudio_workbench_daily(): - version_json = download_json("https://dailies.rstudio.com/rstudio/cranberry-hibiscus/index.json") + version_json = download_json("https://dailies.rstudio.com/rstudio/kousa-dogwood/index.json") return version_json['workbench']['platforms']['jammy-amd64']['version'] diff --git a/workbench-session-init/Dockerfile.ubuntu2204 b/workbench-session-init/Dockerfile.ubuntu2204 new file mode 100644 index 00000000..aa27445e --- /dev/null +++ b/workbench-session-init/Dockerfile.ubuntu2204 @@ -0,0 +1,26 @@ +FROM ubuntu:noble AS build + +# Install required tools: +# - ca-certificates installs necessary certificates to use cURL with HTTPS websites +# - curl is used to download the runtime tar.gz +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && \ + apt-get install -y --no-install-recommends ca-certificates curl && \ + rm -rf /var/lib/apt/lists/* + +ARG RSW_VERSION=2024.09.0+375.pro3 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +RUN mkdir -p /pwb-staging && \ + RSW_VERSION_URL=$(echo -n "${RSW_VERSION}" | sed 's/+/-/g') && \ + curl -fsSL -o /pwb-staging/rsp-session-multi.tar.gz "https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-${RSW_VERSION_URL}-x86_64.tar.gz" && \ + mkdir -p /session-components && \ + tar -C /session-components -xf /pwb-staging/rsp-session-multi.tar.gz && \ + chmod -R 755 /session-components && \ + rm -rf /pwb-staging + +#COPY rstudio-server/ /usr/lib/rstudio-server/ + +COPY --chmod=755 run.sh /run.sh + +ENTRYPOINT ["/run.sh"] diff --git a/workbench-session-init/run.sh b/workbench-session-init/run.sh new file mode 100644 index 00000000..50462c45 --- /dev/null +++ b/workbench-session-init/run.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +set -e +set -x + +# The target should exist and be an empty directory. +T=/mnt/init + +if [ ! -d "${T}" ] ; then + echo "Cannot find the copy target ${T}" + exit 1 +fi + +echo "Copying files from /session-components to /mnt/init" +time cp -r /session-components/* /mnt/init From 24c341f591a4a666b465ea83cded1c76d9aa87e4 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Tue, 29 Oct 2024 14:09:53 -0400 Subject: [PATCH 05/14] add NEWS and README --- workbench-session-init/NEWS.md | 4 +++ workbench-session-init/README.md | 50 ++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 workbench-session-init/NEWS.md create mode 100644 workbench-session-init/README.md diff --git a/workbench-session-init/NEWS.md b/workbench-session-init/NEWS.md new file mode 100644 index 00000000..4789c247 --- /dev/null +++ b/workbench-session-init/NEWS.md @@ -0,0 +1,4 @@ +# 2024.11.0 + +- Add NEWS.md +- Add daily builds diff --git a/workbench-session-init/README.md b/workbench-session-init/README.md new file mode 100644 index 00000000..ecae3c92 --- /dev/null +++ b/workbench-session-init/README.md @@ -0,0 +1,50 @@ +# Posit Workbench Session Init Container + +This directory contains a Dockerfile and script that will create an init container to copy session runtime components from a release package into a target mount directory. This init container can be used to pull the session runtime components into another base sesssion image, which can then be used to run Workbench sessions. + +## Quick reference + +* Maintained by: [the Posit Docker team](https://github.com/rstudio/rstudio-docker-products) +* Where to get help: [our Github Issues page](https://github.com/rstudio/rstudio-docker-products/issues) +* Posit Workbench image: [Docker Hub](https://hub.docker.com/r/rstudio/rstudio-workbench) +* RStudio r-session-complete image: [Docker Hub](https://hub.docker.com/r/rstudio/r-session-complete) +* Workbench Session Init image (Daily/Preview): [Docker Hub](https://hub.docker.com/r/rstudio/rstudio-workbench-session-init-preview) + +## Supported tags and respective Dockerfile links + +* [`jammy-daily`, `ubuntu2204-daily`, `jammy-2024.11.0`, `ubuntu2204-2024.11.0`](https://github.com/rstudio/rstudio-docker-products/blob/main/workbench-session-init/Dockerfile.2204) + +## Building + +Currently daily builds are supported. To build the image, run: + +```console +just preview-bake workbench-session-init-daily +``` + +## Testing + +You can observe what gets copied by the container: + +```console +mkdir init +docker run --rm -v $(pwd)/init:/mnt/init rstudio/workbench-session-init-preview:workbench-session-init-jammy-2024.11.0-daily-328.pro3 +# The init directory has been populated with the Workbench session runtime components. +``` + +You can also test using GOSS: + +```console +just preview-test workbench-session-init-daily +``` + +## Licensing + +The license associated with the RStudio Docker Products repository is located [in LICENSE.md](https://github.com/rstudio/rstudio-docker-products/blob/main/LICENSE.md). + +As is the case with all container images, the images themselves also contain other software which may be under other +licenses (i.e. bash, linux, system libraries, etc., along with any other direct or indirect dependencies of the primary +software being contained). + +It is an image user's responsibility to ensure that use of this image (and any of its dependent layers) complies with +all relevant licenses for the software contained in the image. From 9a68a9dbfb5a4b550c6e6e25032bf3d1f83d044b Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Tue, 29 Oct 2024 14:11:15 -0400 Subject: [PATCH 06/14] update dir locations and add goss test --- workbench-session-init/Dockerfile.ubuntu2204 | 15 +++++++-------- workbench-session-init/run.sh | 4 +++- workbench-session-init/test/goss.yaml | 13 +++++++++++++ workbench-session-init/test/run_tests.sh | 20 ++++++++++++++++++++ 4 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 workbench-session-init/test/goss.yaml create mode 100755 workbench-session-init/test/run_tests.sh diff --git a/workbench-session-init/Dockerfile.ubuntu2204 b/workbench-session-init/Dockerfile.ubuntu2204 index aa27445e..7e17731d 100644 --- a/workbench-session-init/Dockerfile.ubuntu2204 +++ b/workbench-session-init/Dockerfile.ubuntu2204 @@ -1,4 +1,4 @@ -FROM ubuntu:noble AS build +FROM ubuntu:22.04 AS build # Install required tools: # - ca-certificates installs necessary certificates to use cURL with HTTPS websites @@ -13,14 +13,13 @@ ARG RSW_VERSION=2024.09.0+375.pro3 SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /pwb-staging && \ RSW_VERSION_URL=$(echo -n "${RSW_VERSION}" | sed 's/+/-/g') && \ + echo "Downloading https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-${RSW_VERSION_URL}-x86_64.tar.gz" && \ curl -fsSL -o /pwb-staging/rsp-session-multi.tar.gz "https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-${RSW_VERSION_URL}-x86_64.tar.gz" && \ - mkdir -p /session-components && \ - tar -C /session-components -xf /pwb-staging/rsp-session-multi.tar.gz && \ - chmod -R 755 /session-components && \ + mkdir -p /opt/session-components && \ + tar -C /opt/session-components -xf /pwb-staging/rsp-session-multi.tar.gz && \ + chmod -R 755 /opt/session-components && \ rm -rf /pwb-staging -#COPY rstudio-server/ /usr/lib/rstudio-server/ +COPY --chmod=755 run.sh /usr/local/bin/run.sh -COPY --chmod=755 run.sh /run.sh - -ENTRYPOINT ["/run.sh"] +ENTRYPOINT ["/usr/local/bin/run.sh"] diff --git a/workbench-session-init/run.sh b/workbench-session-init/run.sh index 50462c45..843718e1 100644 --- a/workbench-session-init/run.sh +++ b/workbench-session-init/run.sh @@ -3,6 +3,8 @@ set -e set -x +S=/opt/session-components + # The target should exist and be an empty directory. T=/mnt/init @@ -12,4 +14,4 @@ if [ ! -d "${T}" ] ; then fi echo "Copying files from /session-components to /mnt/init" -time cp -r /session-components/* /mnt/init +time cp -r $S/* $T diff --git a/workbench-session-init/test/goss.yaml b/workbench-session-init/test/goss.yaml new file mode 100644 index 00000000..7c9ab9e7 --- /dev/null +++ b/workbench-session-init/test/goss.yaml @@ -0,0 +1,13 @@ +package: + curl: + installed: true + +file: + /opt/session-components/: + exists: true + mode: "0755" + filetype: directory + /usr/local/bin/run.sh: + exists: true + filetype: file + mode: "0755" diff --git a/workbench-session-init/test/run_tests.sh b/workbench-session-init/test/run_tests.sh new file mode 100755 index 00000000..fc48b0e6 --- /dev/null +++ b/workbench-session-init/test/run_tests.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# install goss +GOSS_FILE=${GOSS_FILE:-/test/goss.yaml} +GOSS_VERSION=${GOSS_VERSION:-0.4.6} +GOSS_MAX_CONCURRENT=${GOSS_MAX_CONCURRENT:-50} + +if [ -f /etc/debian_version ]; then + OS="ubuntu" +else + echo "OS not supported. Exiting" + exit 1 +fi + +# install goss to tmp location and make executable +curl -fsSL https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/goss-linux-amd64 -o /tmp/goss \ + && chmod +x /tmp/goss \ + && GOSS=/tmp/goss + +OS=$OS GOSS_FILE=$GOSS_FILE $GOSS v --format documentation --max-concurrent $GOSS_MAX_CONCURRENT From c8690caf6ebb6337ce057cf7a61a1a8f53d61118 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Tue, 29 Oct 2024 15:26:46 -0400 Subject: [PATCH 07/14] add workbench-session-init target to manual and preview workflows to enable build/publish of daily --- .github/workflows/build-bake-preview.yaml | 40 +++++++++++++++++++++++ .github/workflows/build-manual.yaml | 1 + .github/workflows/lint.yaml | 1 + .github/workflows/update-readme.yaml | 1 + docker-bake.preview.hcl | 1 + tools/dockerhub_clean.py | 1 + 6 files changed, 45 insertions(+) diff --git a/.github/workflows/build-bake-preview.yaml b/.github/workflows/build-bake-preview.yaml index 641787f5..5912e781 100644 --- a/.github/workflows/build-bake-preview.yaml +++ b/.github/workflows/build-bake-preview.yaml @@ -421,3 +421,43 @@ jobs: dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} snyk-org: ${{ secrets.SNYK_ORG }} snyk-token: '${{ secrets.SNYK_TOKEN }}' + + workbench-session-init-daily: + needs: [versions] + name: Workbench Session Init - Daily + runs-on: ubuntu-latest-4x + + env: + target: "workbench-session-init-daily" + WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} + WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} + PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} + PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} + CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} + BRANCH: ${{ github.head_ref || github.ref_name }} + + concurrency: + group: bake-workbench-session-init-daily-${{ github.ref }} + cancel-in-progress: true + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + id: setup-buildx + with: + buildkitd-config: ./share/buildkitd.toml + + - name: Build, Test, and Push + uses: ./.github/actions/bake-test-push + with: + target: ${{ env.target }} + bakefile: docker-bake.preview.hcl + push-image: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} + ghcr-token: ${{ secrets.GITHUB_TOKEN }} + dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} + dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + snyk-org: ${{ secrets.SNYK_ORG }} + snyk-token: '${{ secrets.SNYK_TOKEN }}' diff --git a/.github/workflows/build-manual.yaml b/.github/workflows/build-manual.yaml index e9ceb46b..a2dbda9a 100644 --- a/.github/workflows/build-manual.yaml +++ b/.github/workflows/build-manual.yaml @@ -21,6 +21,7 @@ on: - workbench - workbench-for-google-cloud-workstations - workbench-for-microsoft-azure-ml + - workbench-session-init type: description: "The type of image being built." required: false diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 8503bb73..55c01833 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -25,6 +25,7 @@ jobs: - {product: 'connect-content-init', os: 'ubuntu2204'} - {product: 'package-manager', os: 'ubuntu2204'} - {product: 'r-session-complete', os: 'ubuntu2204'} + - {product: 'workbench-session-init', os: 'ubuntu2204'} - {product: 'workbench-for-microsoft-azure-ml', os: 'ubuntu2204'} - {product: 'content/base', os: 'ubuntu1804'} - {product: 'content/base', os: 'ubuntu2204'} diff --git a/.github/workflows/update-readme.yaml b/.github/workflows/update-readme.yaml index 78a9db22..e417261b 100644 --- a/.github/workflows/update-readme.yaml +++ b/.github/workflows/update-readme.yaml @@ -24,6 +24,7 @@ jobs: - {prefix: '', repository: 'content-pro', readme_path: './content/pro/README.md'} - {prefix: 'rstudio-', repository: 'package-manager', readme_path: './package-manager/README.md'} - {prefix: '', repository: 'r-session-complete', readme_path: './r-session-complete/README.md'} + - {prefix: '', repository: 'workbench-session-init', readme_path: './workbench-session-init/README.md'} steps: - name: Check Out Repo diff --git a/docker-bake.preview.hcl b/docker-bake.preview.hcl index 9b6c3c5a..b81c7986 100644 --- a/docker-bake.preview.hcl +++ b/docker-bake.preview.hcl @@ -183,6 +183,7 @@ group "default" { "r-session-complete-daily", "workbench-preview", "workbench-daily", + "workbench-session-init-daily", ] } diff --git a/tools/dockerhub_clean.py b/tools/dockerhub_clean.py index 0bace396..5cb1c592 100755 --- a/tools/dockerhub_clean.py +++ b/tools/dockerhub_clean.py @@ -23,6 +23,7 @@ "rstudio-workbench", "rstudio-workbench-for-microsoft-azure-ml", "rstudio-workbench-preview", + "workbench-session-init-preview", ] From 751a5bf0c4e4c2ffb62ecd45a34eec5cd2466d02 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Tue, 29 Oct 2024 15:27:43 -0400 Subject: [PATCH 08/14] not sure if this is still used, but adding workbench-session-init to the list of products --- ci.Justfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.Justfile b/ci.Justfile index 1de52f56..bfdf18b1 100644 --- a/ci.Justfile +++ b/ci.Justfile @@ -69,7 +69,7 @@ get-product-args $PRODUCT $OS $VERSION $USE_S3="false" $BRANCH=`git branch --sho RSW_DOWNLOAD_URL=$(just -f ci.Justfile _get-rsw-download-url preview $OS) fi - if [[ $PRODUCT == "workbench" || $PRODUCT == "r-session-complete" || $PRODUCT == "workbench-for-microsoft-azure-ml" ]]; then + if [[ $PRODUCT == "workbench" || $PRODUCT == "workbench-session-init" || $PRODUCT == "r-session-complete" || $PRODUCT == "workbench-for-microsoft-azure-ml" ]]; then SHORT_NAME="RSW" elif [[ $PRODUCT == "connect" || $PRODUCT == "connect-content-init" ]]; then SHORT_NAME="RSC" @@ -158,7 +158,7 @@ get-prerelease-args $TYPE $PRODUCT $OS $VERSION $BRANCH=`git branch --show`: RSW_DOWNLOAD_URL=$(just -f ci.Justfile _get-rsw-download-url $TYPE $OS) - if [[ $PRODUCT == "workbench" || $PRODUCT == "r-session-complete" || $PRODUCT == "workbench-for-microsoft-azure-ml" ]]; then + if [[ $PRODUCT == "workbench" || $PRODUCT == "workbench-session-init" || $PRODUCT == "r-session-complete" || $PRODUCT == "workbench-for-microsoft-azure-ml" ]]; then SHORT_NAME="RSW" elif [[ $PRODUCT == "connect" || $PRODUCT == "connect-content-init" ]]; then SHORT_NAME="RSC" From 86425f9b82937a4296a3a9cbbb770739c4b01f81 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Tue, 29 Oct 2024 15:49:25 -0400 Subject: [PATCH 09/14] add workbench-sesssion-init files to update-rsw-versions target --- Justfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Justfile b/Justfile index ac062e79..1cda2d0c 100644 --- a/Justfile +++ b/Justfile @@ -295,16 +295,17 @@ update-rsw-versions: r-session-complete/.env \ workbench-for-microsoft-azure-ml/.env \ r-session-complete/Dockerfile.ubuntu2204 \ - r-session-complete/Dockerfile.centos7 \ workbench/Dockerfile.ubuntu2204 \ - workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 + workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 \ + workbench-session-init/Dockerfile.ubuntu2204 sed {{ sed_vars }} "s/RSW_VERSION:.*/RSW_VERSION: {{ RSW_VERSION }}/g" docker-compose.yml sed {{ sed_vars }} "s/rstudio\/rstudio-workbench:.*/rstudio\/rstudio-workbench:$(just _get-clean-version {{ RSW_VERSION }})/g" docker-compose.yml sed {{ sed_vars }} "s/^RSW_VERSION := .*/RSW_VERSION := \"{{ RSW_VERSION }}\"/g" \ Justfile sed {{ sed_vars }} "s/[0-9]\{4\}\.[0-9]\{1,2\}\.[0-9]\{1,2\}/`just _get-clean-version {{ RSW_VERSION }}`/g" \ workbench/README.md \ - r-session-complete/README.md + r-session-complete/README.md \ + workbench-session-init/README.md awk -v new_version="{{ RSW_VERSION }}" ' /variable WORKBENCH_VERSION/ { print; getline; print " default = \"" new_version "\""; next } { print } From aa7efaf5357468a9efee6591bc88da224fe5e311 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Wed, 30 Oct 2024 11:11:23 -0400 Subject: [PATCH 10/14] Update workbench-session-init/Dockerfile.ubuntu2204 Co-authored-by: Zach Hannum --- workbench-session-init/Dockerfile.ubuntu2204 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workbench-session-init/Dockerfile.ubuntu2204 b/workbench-session-init/Dockerfile.ubuntu2204 index 7e17731d..81c1d5fe 100644 --- a/workbench-session-init/Dockerfile.ubuntu2204 +++ b/workbench-session-init/Dockerfile.ubuntu2204 @@ -14,7 +14,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /pwb-staging && \ RSW_VERSION_URL=$(echo -n "${RSW_VERSION}" | sed 's/+/-/g') && \ echo "Downloading https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-${RSW_VERSION_URL}-x86_64.tar.gz" && \ - curl -fsSL -o /pwb-staging/rsp-session-multi.tar.gz "https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-${RSW_VERSION_URL}-x86_64.tar.gz" && \ + curl -fsSL -o /pwb-staging/rsp-session-multi.tar.gz "https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-linux-${RSW_VERSION_URL}-x86_64.tar.gz" && \ mkdir -p /opt/session-components && \ tar -C /opt/session-components -xf /pwb-staging/rsp-session-multi.tar.gz && \ chmod -R 755 /opt/session-components && \ From 0fc96492c0016d07ad792e5e58e7e0164e6b76d6 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Wed, 30 Oct 2024 11:14:22 -0400 Subject: [PATCH 11/14] change name of component to rsp-session-multi-linux --- workbench-session-init/Dockerfile.ubuntu2204 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workbench-session-init/Dockerfile.ubuntu2204 b/workbench-session-init/Dockerfile.ubuntu2204 index 81c1d5fe..0ccfb3cc 100644 --- a/workbench-session-init/Dockerfile.ubuntu2204 +++ b/workbench-session-init/Dockerfile.ubuntu2204 @@ -13,10 +13,10 @@ ARG RSW_VERSION=2024.09.0+375.pro3 SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /pwb-staging && \ RSW_VERSION_URL=$(echo -n "${RSW_VERSION}" | sed 's/+/-/g') && \ - echo "Downloading https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-${RSW_VERSION_URL}-x86_64.tar.gz" && \ - curl -fsSL -o /pwb-staging/rsp-session-multi.tar.gz "https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-linux-${RSW_VERSION_URL}-x86_64.tar.gz" && \ + echo "Downloading https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-linux-${RSW_VERSION_URL}-x86_64.tar.gz" && \ + curl -fsSL -o /pwb-staging/rsp-session-multi-linux.tar.gz "https://s3.amazonaws.com/rstudio-ide-build/session/multi/x86_64/rsp-session-multi-linux-${RSW_VERSION_URL}-x86_64.tar.gz" && \ mkdir -p /opt/session-components && \ - tar -C /opt/session-components -xf /pwb-staging/rsp-session-multi.tar.gz && \ + tar -C /opt/session-components -xf /pwb-staging/rsp-session-multi-linux.tar.gz && \ chmod -R 755 /opt/session-components && \ rm -rf /pwb-staging From ea9e1be5b2f6b80a2c8a139f80fed4cd55497493 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Wed, 30 Oct 2024 13:54:19 -0400 Subject: [PATCH 12/14] Update workbench-session-init/run.sh Co-authored-by: Benjamin R. J. Schwedler --- workbench-session-init/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workbench-session-init/run.sh b/workbench-session-init/run.sh index 843718e1..9c29238e 100644 --- a/workbench-session-init/run.sh +++ b/workbench-session-init/run.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -e +set -euo pipefail set -x S=/opt/session-components From 958e3cf6e403636e56c45c43300c1de986d54424 Mon Sep 17 00:00:00 2001 From: Melissa Barca <5323711+melissa-barca@users.noreply.github.com> Date: Mon, 4 Nov 2024 15:00:10 -0500 Subject: [PATCH 13/14] add positron config files and fix vs code default setting --- r-session-complete/positron.extensions.conf | 2 ++ .../conf/positron-user-settings.json | 6 ++++++ workbench-for-google-cloud-workstations/conf/positron.conf | 2 ++ .../conf/positron.extensions.conf | 2 ++ .../conf/vscode-user-settings.json | 2 +- .../conf/positron-user-settings.json | 6 ++++++ workbench-for-microsoft-azure-ml/conf/positron.conf | 2 ++ .../conf/positron.extensions.conf | 2 ++ .../conf/vscode-user-settings.json | 2 +- workbench/conf/positron-user-settings.json | 6 ++++++ workbench/conf/positron.conf | 2 ++ workbench/conf/positron.extensions.conf | 2 ++ workbench/conf/vscode-user-settings.json | 2 +- 13 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 r-session-complete/positron.extensions.conf create mode 100644 workbench-for-google-cloud-workstations/conf/positron-user-settings.json create mode 100644 workbench-for-google-cloud-workstations/conf/positron.conf create mode 100644 workbench-for-google-cloud-workstations/conf/positron.extensions.conf create mode 100644 workbench-for-microsoft-azure-ml/conf/positron-user-settings.json create mode 100644 workbench-for-microsoft-azure-ml/conf/positron.conf create mode 100644 workbench-for-microsoft-azure-ml/conf/positron.extensions.conf create mode 100644 workbench/conf/positron-user-settings.json create mode 100644 workbench/conf/positron.conf create mode 100644 workbench/conf/positron.extensions.conf diff --git a/r-session-complete/positron.extensions.conf b/r-session-complete/positron.extensions.conf new file mode 100644 index 00000000..42191cc9 --- /dev/null +++ b/r-session-complete/positron.extensions.conf @@ -0,0 +1,2 @@ +posit.shiny +posit.publisher diff --git a/workbench-for-google-cloud-workstations/conf/positron-user-settings.json b/workbench-for-google-cloud-workstations/conf/positron-user-settings.json new file mode 100644 index 00000000..1a8a2a71 --- /dev/null +++ b/workbench-for-google-cloud-workstations/conf/positron-user-settings.json @@ -0,0 +1,6 @@ +{ + "terminal.integrated.defaultProfile.linux": "bash", + "extensions.autoUpdate": false, + "extensions.autoCheckUpdates": false, + "quarto.path": "/usr/lib/rstudio-server/bin/quarto/bin/quarto" +} diff --git a/workbench-for-google-cloud-workstations/conf/positron.conf b/workbench-for-google-cloud-workstations/conf/positron.conf new file mode 100644 index 00000000..9da43493 --- /dev/null +++ b/workbench-for-google-cloud-workstations/conf/positron.conf @@ -0,0 +1,2 @@ +enabled=1 +exe=/usr/lib/rstudio-server/bin/positron-server/bin/positron-server diff --git a/workbench-for-google-cloud-workstations/conf/positron.extensions.conf b/workbench-for-google-cloud-workstations/conf/positron.extensions.conf new file mode 100644 index 00000000..42191cc9 --- /dev/null +++ b/workbench-for-google-cloud-workstations/conf/positron.extensions.conf @@ -0,0 +1,2 @@ +posit.shiny +posit.publisher diff --git a/workbench-for-google-cloud-workstations/conf/vscode-user-settings.json b/workbench-for-google-cloud-workstations/conf/vscode-user-settings.json index 144b8c2a..4f0b03cc 100644 --- a/workbench-for-google-cloud-workstations/conf/vscode-user-settings.json +++ b/workbench-for-google-cloud-workstations/conf/vscode-user-settings.json @@ -1,5 +1,5 @@ { - "terminal.integrated.shell.linux": "/bin/bash", + "terminal.integrated.defaultProfile.linux": "bash", "extensions.autoUpdate": false, "extensions.autoCheckUpdates": false } diff --git a/workbench-for-microsoft-azure-ml/conf/positron-user-settings.json b/workbench-for-microsoft-azure-ml/conf/positron-user-settings.json new file mode 100644 index 00000000..1a8a2a71 --- /dev/null +++ b/workbench-for-microsoft-azure-ml/conf/positron-user-settings.json @@ -0,0 +1,6 @@ +{ + "terminal.integrated.defaultProfile.linux": "bash", + "extensions.autoUpdate": false, + "extensions.autoCheckUpdates": false, + "quarto.path": "/usr/lib/rstudio-server/bin/quarto/bin/quarto" +} diff --git a/workbench-for-microsoft-azure-ml/conf/positron.conf b/workbench-for-microsoft-azure-ml/conf/positron.conf new file mode 100644 index 00000000..9da43493 --- /dev/null +++ b/workbench-for-microsoft-azure-ml/conf/positron.conf @@ -0,0 +1,2 @@ +enabled=1 +exe=/usr/lib/rstudio-server/bin/positron-server/bin/positron-server diff --git a/workbench-for-microsoft-azure-ml/conf/positron.extensions.conf b/workbench-for-microsoft-azure-ml/conf/positron.extensions.conf new file mode 100644 index 00000000..42191cc9 --- /dev/null +++ b/workbench-for-microsoft-azure-ml/conf/positron.extensions.conf @@ -0,0 +1,2 @@ +posit.shiny +posit.publisher diff --git a/workbench-for-microsoft-azure-ml/conf/vscode-user-settings.json b/workbench-for-microsoft-azure-ml/conf/vscode-user-settings.json index 144b8c2a..4f0b03cc 100644 --- a/workbench-for-microsoft-azure-ml/conf/vscode-user-settings.json +++ b/workbench-for-microsoft-azure-ml/conf/vscode-user-settings.json @@ -1,5 +1,5 @@ { - "terminal.integrated.shell.linux": "/bin/bash", + "terminal.integrated.defaultProfile.linux": "bash", "extensions.autoUpdate": false, "extensions.autoCheckUpdates": false } diff --git a/workbench/conf/positron-user-settings.json b/workbench/conf/positron-user-settings.json new file mode 100644 index 00000000..1a8a2a71 --- /dev/null +++ b/workbench/conf/positron-user-settings.json @@ -0,0 +1,6 @@ +{ + "terminal.integrated.defaultProfile.linux": "bash", + "extensions.autoUpdate": false, + "extensions.autoCheckUpdates": false, + "quarto.path": "/usr/lib/rstudio-server/bin/quarto/bin/quarto" +} diff --git a/workbench/conf/positron.conf b/workbench/conf/positron.conf new file mode 100644 index 00000000..9da43493 --- /dev/null +++ b/workbench/conf/positron.conf @@ -0,0 +1,2 @@ +enabled=1 +exe=/usr/lib/rstudio-server/bin/positron-server/bin/positron-server diff --git a/workbench/conf/positron.extensions.conf b/workbench/conf/positron.extensions.conf new file mode 100644 index 00000000..42191cc9 --- /dev/null +++ b/workbench/conf/positron.extensions.conf @@ -0,0 +1,2 @@ +posit.shiny +posit.publisher diff --git a/workbench/conf/vscode-user-settings.json b/workbench/conf/vscode-user-settings.json index 144b8c2a..4f0b03cc 100644 --- a/workbench/conf/vscode-user-settings.json +++ b/workbench/conf/vscode-user-settings.json @@ -1,5 +1,5 @@ { - "terminal.integrated.shell.linux": "/bin/bash", + "terminal.integrated.defaultProfile.linux": "bash", "extensions.autoUpdate": false, "extensions.autoCheckUpdates": false } From 78d7404bae563942e06b02c063d10feb5deddd98 Mon Sep 17 00:00:00 2001 From: Skye Turriff Date: Tue, 5 Nov 2024 13:11:18 -0500 Subject: [PATCH 14/14] bump workbench to 2024.09.1 --- Justfile | 2 +- docker-bake.hcl | 2 +- r-session-complete/.env | 2 +- r-session-complete/Dockerfile.ubuntu2204 | 2 +- r-session-complete/README.md | 2 +- workbench-for-google-cloud-workstations/.env | 4 ++-- workbench-for-google-cloud-workstations/Dockerfile.ubuntu2204 | 2 +- workbench-for-microsoft-azure-ml/.env | 2 +- workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 | 4 ++-- workbench-session-init/Dockerfile.ubuntu2204 | 2 +- workbench/.env | 2 +- workbench/Dockerfile.ubuntu2204 | 2 +- workbench/README.md | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Justfile b/Justfile index 1cda2d0c..22278320 100644 --- a/Justfile +++ b/Justfile @@ -9,7 +9,7 @@ BUILDX_PATH := "" RSC_VERSION := "2024.09.0" RSPM_VERSION := "2024.08.2-9" -RSW_VERSION := "2024.09.0+375.pro3" +RSW_VERSION := "2024.09.1+394.pro7" DRIVERS_VERSION := "2023.05.0" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" diff --git a/docker-bake.hcl b/docker-bake.hcl index 090a157e..24be958d 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -8,7 +8,7 @@ variable PACKAGE_MANAGER_VERSION { } variable WORKBENCH_VERSION { - default = "2024.09.0+375.pro3" + default = "2024.09.1+394.pro7" } variable DRIVERS_VERSION { diff --git a/r-session-complete/.env b/r-session-complete/.env index 8ba538cd..5138f057 100644 --- a/r-session-complete/.env +++ b/r-session-complete/.env @@ -1,4 +1,4 @@ R_VERSION=4.1.0 PYTHON_VERSION=3.9.5 -RSW_VERSION=2024.09.0+375.pro3 +RSW_VERSION=2024.09.1+394.pro7 DRIVERS_VERSION=2024.03.0-1 diff --git a/r-session-complete/Dockerfile.ubuntu2204 b/r-session-complete/Dockerfile.ubuntu2204 index 62a18b6c..95b04386 100644 --- a/r-session-complete/Dockerfile.ubuntu2204 +++ b/r-session-complete/Dockerfile.ubuntu2204 @@ -6,7 +6,7 @@ ARG R_VERSION_ALT=4.3.3 ARG PYTHON_VERSION=3.9.17 ARG PYTHON_VERSION_ALT=3.8.17 ARG JUPYTERLAB_VERSION=3.6.5 -ARG RSW_VERSION=2024.09.0+375.pro3 +ARG RSW_VERSION=2024.09.1+394.pro7 ARG RSW_NAME=rstudio-workbench ARG RSW_DOWNLOAD_URL=https://download2.rstudio.org/server/jammy/amd64 ARG SCRIPTS_DIR=/opt/positscripts diff --git a/r-session-complete/README.md b/r-session-complete/README.md index 20381c60..243c17d1 100644 --- a/r-session-complete/README.md +++ b/r-session-complete/README.md @@ -7,7 +7,7 @@ # Supported tags and respective Dockerfile links -* [`jammy`, `ubuntu2204`, `jammy-2024.09.0`, `ubuntu2204-2024.09.0`](https://github.com/rstudio/rstudio-docker-products/blob/main/r-session-complete/Dockerfile.ubuntu2204) +* [`jammy`, `ubuntu2204`, `jammy-2024.09.1`, `ubuntu2204-2024.09.1`](https://github.com/rstudio/rstudio-docker-products/blob/main/r-session-complete/Dockerfile.ubuntu2204) # What are the r-session-complete images? diff --git a/workbench-for-google-cloud-workstations/.env b/workbench-for-google-cloud-workstations/.env index 23882592..d4ade501 100644 --- a/workbench-for-google-cloud-workstations/.env +++ b/workbench-for-google-cloud-workstations/.env @@ -1,5 +1,5 @@ -RSW_VERSION=2024.09.0+375.pro3 -RSW_TAG_VERSION=2024.09.0-375.pro3 +RSW_VERSION=2024.09.1+394.pro7 +RSW_TAG_VERSION=2024.09.1-394.pro7 RSW_DOWNLOAD_URL=https://download2.rstudio.org/server/jammy/amd64 RSW_NAME=rstudio-workbench PYTHON_VERSION=3.11.9 diff --git a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2204 b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2204 index aa76f97a..aaa7513f 100644 --- a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2204 +++ b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2204 @@ -10,7 +10,7 @@ ARG PYTHON_VERSION_ALT=3.10.14 ARG PYTHON_VERSION_JUPYTER=3.10.14 ARG JUPYTERLAB_VERSION=3.6.7 ARG DRIVERS_VERSION=2023.05.0 -ARG RSW_VERSION=2024.09.0+375.pro3 +ARG RSW_VERSION=2024.09.1+394.pro7 ARG RSW_NAME=rstudio-workbench ARG RSW_DOWNLOAD_URL=https://download2.rstudio.org/server/jammy/amd64 ARG SCRIPTS_DIR=/opt/positscripts diff --git a/workbench-for-microsoft-azure-ml/.env b/workbench-for-microsoft-azure-ml/.env index 8ed04719..b7c6d840 100644 --- a/workbench-for-microsoft-azure-ml/.env +++ b/workbench-for-microsoft-azure-ml/.env @@ -1,4 +1,4 @@ -RSW_VERSION=2024.09.0+375.pro3 +RSW_VERSION=2024.09.1+394.pro7 RSW_DOWNLOAD_URL=https://download2.rstudio.org/server/bionic/amd64 RSW_NAME=rstudio-workbench PYTHON_VERSION=3.9.14 diff --git a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 index bb6fd765..37c64774 100644 --- a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 +++ b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 @@ -7,7 +7,7 @@ ARG PYTHON_VERSION=3.9.17 ARG PYTHON_VERSION_ALT=3.8.17 ARG PYTHON_VERSION_JUPYTER=3.8.17 ARG JUPYTERLAB_VERSION=3.6.7 -ARG RSW_VERSION=2024.09.0+375.pro3 +ARG RSW_VERSION=2024.09.1+394.pro7 ARG RSW_NAME=rstudio-workbench ARG RSW_DOWNLOAD_URL=https://download2.rstudio.org/server/jammy/amd64 ARG SCRIPTS_DIR=/opt/positscripts @@ -178,5 +178,5 @@ LABEL \ azure.ii.endpoints='[{"label":"connect","target":8787,"protocol":"http"}]' \ org.opencontainers.image.description='A professional integrated development environment for data science teams using R and Python' \ org.opencontainers.image.title='RStudio Workbench' \ - org.opencontainers.image.version='2024.09.0+375.pro3' \ + org.opencontainers.image.version='2024.09.1+394.pro7' \ org.opencontainers.image.url='https://www.rstudio.com/products/workbench/' diff --git a/workbench-session-init/Dockerfile.ubuntu2204 b/workbench-session-init/Dockerfile.ubuntu2204 index 0ccfb3cc..2d0bbc44 100644 --- a/workbench-session-init/Dockerfile.ubuntu2204 +++ b/workbench-session-init/Dockerfile.ubuntu2204 @@ -8,7 +8,7 @@ RUN apt-get update && \ apt-get install -y --no-install-recommends ca-certificates curl && \ rm -rf /var/lib/apt/lists/* -ARG RSW_VERSION=2024.09.0+375.pro3 +ARG RSW_VERSION=2024.09.1+394.pro7 SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /pwb-staging && \ diff --git a/workbench/.env b/workbench/.env index 2c1af1c8..1667c404 100644 --- a/workbench/.env +++ b/workbench/.env @@ -1,4 +1,4 @@ -RSW_VERSION=2024.09.0+375.pro3 +RSW_VERSION=2024.09.1+394.pro7 RSW_DOWNLOAD_URL=https://download2.rstudio.org/server/bionic/amd64 RSW_NAME=rstudio-workbench PYTHON_VERSION=3.9.17 diff --git a/workbench/Dockerfile.ubuntu2204 b/workbench/Dockerfile.ubuntu2204 index 3a64b9de..e637a53b 100644 --- a/workbench/Dockerfile.ubuntu2204 +++ b/workbench/Dockerfile.ubuntu2204 @@ -7,7 +7,7 @@ ARG PYTHON_VERSION=3.9.17 ARG PYTHON_VERSION_ALT=3.8.17 ARG PYTHON_VERSION_JUPYTER=3.8.17 ARG JUPYTERLAB_VERSION=3.6.7 -ARG RSW_VERSION=2024.09.0+375.pro3 +ARG RSW_VERSION=2024.09.1+394.pro7 ARG RSW_NAME=rstudio-workbench ARG RSW_DOWNLOAD_URL=https://download2.rstudio.org/server/jammy/amd64 ARG SCRIPTS_DIR=/opt/positscripts diff --git a/workbench/README.md b/workbench/README.md index 3b36732e..97da82f5 100644 --- a/workbench/README.md +++ b/workbench/README.md @@ -7,7 +7,7 @@ # Supported tags and respective Dockerfile links -* [`jammy`, `ubuntu2204`, `jammy-2024.09.0`, `ubuntu2204-2024.09.0`](https://github.com/rstudio/rstudio-docker-products/blob/main/workbench/Dockerfile.ubuntu2204) +* [`jammy`, `ubuntu2204`, `jammy-2024.09.1`, `ubuntu2204-2024.09.1`](https://github.com/rstudio/rstudio-docker-products/blob/main/workbench/Dockerfile.ubuntu2204) # What is RStudio Workbench?