From 22ab1c235ae96f946767c0a15b12561fda4e2f93 Mon Sep 17 00:00:00 2001 From: Pablo Bianco Lascaray Date: Tue, 27 Feb 2024 16:18:34 -0500 Subject: [PATCH 01/18] Bump Connect to version 2024.02.0 --- Justfile | 2 +- connect-content-init/Dockerfile.ubuntu2204 | 2 +- connect-content-init/Justfile | 2 +- connect-content-init/README.md | 6 +++--- connect/.env | 2 +- connect/Dockerfile.ubuntu2204 | 2 +- connect/Justfile | 2 +- connect/README.md | 2 +- docker-compose.yml | 4 ++-- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Justfile b/Justfile index ee975baa..59152788 100644 --- a/Justfile +++ b/Justfile @@ -6,7 +6,7 @@ sed_vars := if os() == "macos" { "-i ''" } else { "-i" } BUILDX_PATH := "" -RSC_VERSION := "2024.01.0" +RSC_VERSION := "2024.02.0" RSPM_VERSION := "2023.12.0-13" RSW_VERSION := "2023.12.1+402.pro1" diff --git a/connect-content-init/Dockerfile.ubuntu2204 b/connect-content-init/Dockerfile.ubuntu2204 index 9f58675b..ac1e8be5 100644 --- a/connect-content-init/Dockerfile.ubuntu2204 +++ b/connect-content-init/Dockerfile.ubuntu2204 @@ -10,7 +10,7 @@ RUN apt-get update && \ apt-get install -y --no-install-recommends ca-certificates curl && \ rm -rf /var/lib/apt/lists/* -ARG RSC_VERSION=2024.01.0 +ARG RSC_VERSION=2024.02.0 SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /rsc-staging && \ RSC_VERSION_URL=$(echo -n "${RSC_VERSION}" | sed 's/+/%2B/g') && \ diff --git a/connect-content-init/Justfile b/connect-content-init/Justfile index e2df1bae..3c59f2c9 100644 --- a/connect-content-init/Justfile +++ b/connect-content-init/Justfile @@ -6,7 +6,7 @@ IMAGE_PREFIX := "rstudio-" PRODUCT := "connect-content-init" IMAGE_OS := "ubuntu2204" -RSC_VERSION := "2024.01.0" +RSC_VERSION := "2024.02.0" RSC_TAG_SAFE_VERSION := replace(RSC_VERSION, "+", "-") RSC_LICENSE := "" diff --git a/connect-content-init/README.md b/connect-content-init/README.md index 36373b58..227fbca8 100644 --- a/connect-content-init/README.md +++ b/connect-content-init/README.md @@ -9,7 +9,7 @@ # Supported tags and respective Dockerfile links -* [`jammy`, `ubuntu2204`, `jammy-2024.01.0`, `ubuntu2204-2024.01.0`](https://github.com/rstudio/rstudio-docker-products/blob/main/connect/Dockerfile.2204) +* [`jammy`, `ubuntu2204`, `jammy-2024.02.0`, `ubuntu2204-2024.02.0`](https://github.com/rstudio/rstudio-docker-products/blob/main/connect/Dockerfile.2204) # RStudio Connect Content Init Container @@ -31,7 +31,7 @@ The version of the release package to use can be overridden with the `RSC_VERSION` build arg. ```console -just build ubuntu2204 2024.01.0 +just build ubuntu2204 2024.02.0 ``` ## Testing @@ -56,7 +56,7 @@ just test You can see the different layers that make up the image: ```console -docker history rstudio/rstudio-connect-content-init-preview:2024.01.0-dev-326 +docker history rstudio/rstudio-connect-content-init-preview:2024.02.0-dev-326 ``` NOTE: almost all the image size is pandoc. diff --git a/connect/.env b/connect/.env index f936ca2c..3f85fe19 100644 --- a/connect/.env +++ b/connect/.env @@ -1,4 +1,4 @@ -RSC_VERSION=2024.01.0 +RSC_VERSION=2024.02.0 R_VERSION=4.2.3 R_VERSION_ALT=4.1.3 PYTHON_VERSION=3.9.17 diff --git a/connect/Dockerfile.ubuntu2204 b/connect/Dockerfile.ubuntu2204 index 8d092a88..ead6a71d 100644 --- a/connect/Dockerfile.ubuntu2204 +++ b/connect/Dockerfile.ubuntu2204 @@ -13,7 +13,7 @@ ARG R_VERSION=4.2.3 ARG R_VERSION_ALT=4.1.3 ARG PYTHON_VERSION=3.9.17 ARG PYTHON_VERSION_ALT=3.8.17 -ARG RSC_VERSION=2024.01.0 +ARG RSC_VERSION=2024.02.0 SHELL [ "/bin/bash", "-o", "pipefail", "-c"] RUN apt-get update --fix-missing \ && apt-get install -yq --no-install-recommends \ diff --git a/connect/Justfile b/connect/Justfile index ccf4af8e..29503409 100644 --- a/connect/Justfile +++ b/connect/Justfile @@ -6,7 +6,7 @@ IMAGE_PREFIX := "rstudio-" PRODUCT := "connect" IMAGE_OS := "ubuntu2204" -RSC_VERSION := "2024.01.0" +RSC_VERSION := "2024.02.0" RSC_LICENSE := "" RSC_LICENSE_SERVER := "" diff --git a/connect/README.md b/connect/README.md index 23add18a..f2514fa0 100644 --- a/connect/README.md +++ b/connect/README.md @@ -7,7 +7,7 @@ # Supported tags and respective Dockerfile links -* [`jammy`, `ubuntu2204`, `jammy-2024.01.0`, `ubuntu2204-2024.01.0`](https://github.com/rstudio/rstudio-docker-products/blob/main/connect/Dockerfile.2204) +* [`jammy`, `ubuntu2204`, `jammy-2024.02.0`, `ubuntu2204-2024.02.0`](https://github.com/rstudio/rstudio-docker-products/blob/main/connect/Dockerfile.2204) # What is Posit Connect? diff --git a/docker-compose.yml b/docker-compose.yml index f2c692c3..149b95df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,8 +25,8 @@ services: context: ./connect dockerfile: "Dockerfile.${IMAGE_OS:-ubuntu1804}" args: - RSC_VERSION: 2024.01.0 - image: rstudio/rstudio-connect:2024.01.0 + RSC_VERSION: 2024.02.0 + image: rstudio/rstudio-connect:2024.02.0 privileged: true environment: RSC_LICENSE: ${RSC_LICENSE} From bd34b85419de4af5f05fc56b46138284d9c8c35b Mon Sep 17 00:00:00 2001 From: Kevin Gartland Date: Fri, 1 Mar 2024 12:16:05 -0500 Subject: [PATCH 02/18] update quarto to 1.4.550 --- Justfile | 2 +- NEWS.md | 4 ++++ ci.Justfile | 2 +- connect/NEWS.md | 4 ++++ connect/rstudio-connect.gcfg | 2 +- content/base/Dockerfile.ubuntu2204 | 2 +- content/base/Justfile | 2 +- content/base/NEWS.md | 4 ++++ content/base/maybe_install_quarto.sh | 4 ++-- product/base/Dockerfile.centos7 | 2 +- product/base/Dockerfile.ubuntu2204 | 2 +- product/base/Justfile | 2 +- product/pro/Justfile | 2 +- workbench-for-google-cloud-workstations/.env | 2 +- workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 | 2 +- 15 files changed, 25 insertions(+), 13 deletions(-) diff --git a/Justfile b/Justfile index 59152788..6f5d25fd 100644 --- a/Justfile +++ b/Justfile @@ -21,7 +21,7 @@ PYTHON_VERSION_ALT := "3.8.17" PYTHON_VERSION_RHEL := "3.9.14" PYTHON_VERSION_ALT_RHEL := "3.8.15" -QUARTO_VERSION := "1.3.450" +QUARTO_VERSION := "1.4.550" # just _get-tag-safe-version 2022.07.2+576.pro12 _get-tag-safe-version $VERSION: diff --git a/NEWS.md b/NEWS.md index fbd90b48..7ca614e2 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,10 @@ changed in each image. This file only captures pervasive, repository-wide changes. +# 2024-03-01 + +- BREAKING: Update Quarto version to 1.4.550 + # 2024-02-01 - Update Pro Drivers to 2023.12.1 diff --git a/ci.Justfile b/ci.Justfile index 65da96b0..c1447b6b 100644 --- a/ci.Justfile +++ b/ci.Justfile @@ -12,7 +12,7 @@ PYTHON_VERSION_ALT := "3.8.17" DRIVERS_VERSION := "2023.12.1" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" -QUARTO_VERSION := "1.3.340" +QUARTO_VERSION := "1.4.550" # just _get-os-alias jammy _get-os-alias OS: diff --git a/connect/NEWS.md b/connect/NEWS.md index 812a78cd..bdef561d 100644 --- a/connect/NEWS.md +++ b/connect/NEWS.md @@ -1,3 +1,7 @@ +# 2024-03-01 + +- BREAKING: Update Quarto version to 1.4.550 + # 2023-08-01 - BREAKING: Removed R 3.6.2, replaced with R 4.1.3. - Updated R 4.2.0 to 4.2.3. diff --git a/connect/rstudio-connect.gcfg b/connect/rstudio-connect.gcfg index 376d08c2..d06c6ce8 100644 --- a/connect/rstudio-connect.gcfg +++ b/connect/rstudio-connect.gcfg @@ -35,7 +35,7 @@ Executable = /opt/python/{{PYTHON_VERSION_ALT}}/bin/python [Quarto] Enabled = true -Executable = /opt/quarto/1.3.340/bin/quarto +Executable = /opt/quarto/1.4.550/bin/quarto [RPackageRepository "CRAN"] URL = https://packagemanager.rstudio.com/cran/__linux__/jammy/latest diff --git a/content/base/Dockerfile.ubuntu2204 b/content/base/Dockerfile.ubuntu2204 index 030eab0b..9fd5571e 100644 --- a/content/base/Dockerfile.ubuntu2204 +++ b/content/base/Dockerfile.ubuntu2204 @@ -117,7 +117,7 @@ RUN curl -O https://cdn.rstudio.com/python/${DISTRIBUTION}/pkgs/python-${PYTHON_ && /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install --upgrade setuptools # install quarto -ARG QUARTO_VERSION=1.3.340 +ARG QUARTO_VERSION=1.4.550 COPY maybe_install_quarto.sh /tmp/maybe_install_quarto.sh RUN /opt/R/${R_VERSION}/bin/R -e 'install.packages("odbc", repos="https://packagemanager.rstudio.com/cran/__linux__/bionic/latest")' \ && /tmp/maybe_install_quarto.sh \ diff --git a/content/base/Justfile b/content/base/Justfile index a1defbf8..a76eb9b5 100755 --- a/content/base/Justfile +++ b/content/base/Justfile @@ -10,7 +10,7 @@ R_VERSION := "3.6.3" PYTHON_VERSION := "3.9.5" -QUARTO_VERSION := "1.3.340" +QUARTO_VERSION := "1.4.550" DEFAULT_TAG := IMAGE_PREFIX + PRODUCT + ":r" + R_VERSION + "-py" + PYTHON_VERSION + "-" + IMAGE_OS diff --git a/content/base/NEWS.md b/content/base/NEWS.md index 47839d89..f80f7d52 100644 --- a/content/base/NEWS.md +++ b/content/base/NEWS.md @@ -1,3 +1,7 @@ +# 2024-03-01 + +- BREAKING: Update Quarto version to 1.4.550 + # 2023-04-26 - Use the Quarto release 1.3.340 in jammy images. diff --git a/content/base/maybe_install_quarto.sh b/content/base/maybe_install_quarto.sh index cb06e6c8..5cebc8e1 100755 --- a/content/base/maybe_install_quarto.sh +++ b/content/base/maybe_install_quarto.sh @@ -3,7 +3,7 @@ # on bionic, only install quarto if python 3.10 and R 4.1 # TODO: figure out a different hierarchy... if [[ `grep -oE bionic /etc/lsb-release` ]] && [[ `ls /opt/python/ | grep '3\.10\.'` ]] && [[ `ls /opt/R | grep '4\.1\.'` ]]; then - qver=${QUARTO_VERSION:-1.3.340} + qver=${QUARTO_VERSION:-1.4.550} echo '--> Installing Quarto' curl -L -o /quarto.deb https://github.com/quarto-dev/quarto-cli/releases/download/v${qver}/quarto-${qver}-linux-amd64.deb apt install /quarto.deb @@ -12,7 +12,7 @@ fi # on jammy, always install quarto if [[ `grep -oE jammy /etc/lsb-release` ]]; then - qver=${QUARTO_VERSION:-1.3.340} + qver=${QUARTO_VERSION:-1.4.550} echo '--> Installing Quarto' curl -L -o /quarto.tar.gz "https://github.com/quarto-dev/quarto-cli/releases/download/v${qver}/quarto-${qver}-linux-amd64.tar.gz" mkdir -p /opt/quarto/${qver} diff --git a/product/base/Dockerfile.centos7 b/product/base/Dockerfile.centos7 index 27341082..2070ba2e 100644 --- a/product/base/Dockerfile.centos7 +++ b/product/base/Dockerfile.centos7 @@ -7,7 +7,7 @@ ARG R_VERSION_ALT=3.6.2 ARG PYTHON_VERSION=3.9.14 ARG PYTHON_VERSION_ALT=3.8.15 ARG TINI_VERSION=0.19.0 -ARG QUARTO_VERSION=1.3.340 +ARG QUARTO_VERSION=1.4.550 ### Update/upgrade system packages ### RUN yum upgrade -y -q \ diff --git a/product/base/Dockerfile.ubuntu2204 b/product/base/Dockerfile.ubuntu2204 index f326b3e3..c191eed7 100644 --- a/product/base/Dockerfile.ubuntu2204 +++ b/product/base/Dockerfile.ubuntu2204 @@ -8,7 +8,7 @@ ARG R_VERSION_ALT=4.1.3 ARG PYTHON_VERSION=3.9.17 ARG PYTHON_VERSION_ALT=3.8.17 ARG TINI_VERSION=0.19.0 -ARG QUARTO_VERSION=1.3.340 +ARG QUARTO_VERSION=1.4.550 ### Update/upgrade system packages ### RUN apt-get update --fix-missing \ diff --git a/product/base/Justfile b/product/base/Justfile index 00c60378..54f0ef56 100755 --- a/product/base/Justfile +++ b/product/base/Justfile @@ -14,7 +14,7 @@ PYTHON_VERSION := "3.9.17" PYTHON_VERSION_ALT := "3.8.17" TINI_VERSION := "0.19.0" -QUARTO_VERSION := "1.3.340" +QUARTO_VERSION := "1.4.550" _make-default-tag OS=IMAGE_OS: echo "{{IMAGE_REGISTRY}}/{{PRODUCT}}:{{OS}}-r{{R_VERSION}}_{{R_VERSION_ALT}}-py{{PYTHON_VERSION}}_{{PYTHON_VERSION_ALT}}" diff --git a/product/pro/Justfile b/product/pro/Justfile index cbee4b36..41d37a18 100644 --- a/product/pro/Justfile +++ b/product/pro/Justfile @@ -14,7 +14,7 @@ PYTHON_VERSION := "3.9.17" PYTHON_VERSION_ALT := "3.8.17" TINI_VERSION := "0.19.0" -QUARTO_VERSION := "1.3.340" +QUARTO_VERSION := "1.4.550" DRIVERS_VERSION := "2023.12.1" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" diff --git a/workbench-for-google-cloud-workstations/.env b/workbench-for-google-cloud-workstations/.env index f87a5c6b..45b72c01 100644 --- a/workbench-for-google-cloud-workstations/.env +++ b/workbench-for-google-cloud-workstations/.env @@ -8,5 +8,5 @@ PYTHON_VERSION_JUPYTER=3.10.13 R_VERSION=4.2.3 R_VERSION_ALT=4.1.3 DRIVERS_VERSION=2023.05.0 -QUARTO_VERSION=1.3.340 +QUARTO_VERSION=1.4.550 IMAGE_REGISTRY_NAME=us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench diff --git a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 index f6de9894..48f8871b 100644 --- a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 +++ b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 @@ -8,7 +8,7 @@ ARG PYTHON_VERSION=3.11.7 ARG PYTHON_VERSION_ALT=3.10.13 ARG PYTHON_VERSION_JUPYTER=3.10.13 ARG JUPYTERLAB_VERSION=3.6.5 -ARG QUARTO_VERSION=1.3.450 +ARG QUARTO_VERSION=1.4.550 ARG DRIVERS_VERSION=2023.05.0 ARG RSW_VERSION=2023.12.1+402.pro1 ARG RSW_NAME=rstudio-workbench From 850440ff47177c6208542f00cdd6807aa18019e5 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 4 Mar 2024 07:29:51 -0800 Subject: [PATCH 03/18] Add Google's GPG keyring to apt for WGCW builds --- workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 index 48f8871b..7ceab95f 100644 --- a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 +++ b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 @@ -32,7 +32,8 @@ ENV WORKBENCH_JUPYTER_PATH=/usr/local/bin/jupyter COPY deps/* / ### Update/upgrade system packages ### -RUN apt-get update --fix-missing \ +RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - \ + && apt-get update --fix-missing \ && apt-get upgrade -yq \ && xargs -a /apt_packages.txt apt-get install -yq --no-install-recommends \ && rm /apt_packages.txt \ From 71477c0e8ba72a4af031c2ff9dd505df6b77feca Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 4 Mar 2024 07:35:14 -0800 Subject: [PATCH 04/18] Separate Workbench for Azure ML build into its own workflow --- .github/workflows/build-release.yaml | 5 +- .github/workflows/build-workbench-aml.yaml | 130 +++++++++++++++++++++ 2 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/build-workbench-aml.yaml diff --git a/.github/workflows/build-release.yaml b/.github/workflows/build-release.yaml index b199fef9..72eb2cc5 100644 --- a/.github/workflows/build-release.yaml +++ b/.github/workflows/build-release.yaml @@ -253,7 +253,6 @@ jobs: - {product: 'package-manager', os: 'ubuntu2204', r-primary: "4.2.3", r-alternate: "4.1.3", py-primary: "3.12.1", py-alternate: "3.11.7"} - {product: 'r-session-complete', os: 'centos7', r-primary: "4.2.3", r-alternate: "4.1.3", py-primary: "3.9.14", py-alternate: "3.8.15"} - {product: 'r-session-complete', os: 'ubuntu2204', r-primary: "4.2.3", r-alternate: "4.1.3", py-primary: "3.9.14", py-alternate: "3.8.15"} - - {product: 'workbench-for-microsoft-azure-ml', os: 'ubuntu2204', r-primary: "4.2.3", r-alternate: "4.1.3", py-primary: "3.9.14", py-alternate: "3.8.15"} concurrency: group: build-products-${{ matrix.config.product }}-${{ matrix.config.os }}-${{ github.ref }} @@ -316,7 +315,7 @@ jobs: ) echo "IMAGE_TAGS=$IMAGE_TAGS" >> $GITHUB_OUTPUT - - name: Build/Test/Scan/Push base pro image + - name: Build/Test/Scan/Push product image id: build1 uses: ./.github/actions/build-test-scan-push continue-on-error: true @@ -340,7 +339,7 @@ jobs: if: steps.build1.outcome == 'failure' run: sleep 60 - - name: Retry - Build/Test/Scan/Push base pro image + - name: Retry - Build/Test/Scan/Push product image id: build2 if: steps.build1.outcome == 'failure' uses: ./.github/actions/build-test-scan-push diff --git a/.github/workflows/build-workbench-aml.yaml b/.github/workflows/build-workbench-aml.yaml new file mode 100644 index 00000000..dd1c028c --- /dev/null +++ b/.github/workflows/build-workbench-aml.yaml @@ -0,0 +1,130 @@ +on: + schedule: + - cron: '0 14 * * 1' # If updating this value, be sure to update logic for all `push-image` arguments! + push: + branches: + - main + - dev + pull_request: + +name: Workbench for Azure ML - Build, Test, Scan, and Push +jobs: + build-workbench-for-azure-ml: + env: + product: workbench-for-microsoft-azure-ml + os: ubuntu2204 + r-primary: 4.2.3 + r-alternate: 4.1.3 + py-primary: 3.9.14 + py-alternate: 3.8.15 + runs-on: ubuntu-latest + name: build-workbench-for-azure-ml + + permissions: + contents: read + packages: write + + concurrency: + group: build-products-${{ env.product }}-${{ env.os }}-${{ github.ref }} + cancel-in-progress: true + + steps: + - name: Check Out Repo - cron main + if: github.event.schedule == '0 14 * * 1' + uses: actions/checkout@v3 + with: + ref: main + + - name: Check Out Repo + if: github.event.schedule != '0 14 * * 1' + uses: actions/checkout@v3 + + - name: Set up Just + uses: extractions/setup-just@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Get Version + id: get-version + run: | + VERSION=$(just -f ci.Justfile get-version ${{ env.product }} --type=release --local) + echo "VERSION=$VERSION" >> $GITHUB_OUTPUT + + - name: Get build args + id: get-build-args + run: | + EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) + BUILD_ARGS=$( \ + just -f ci.Justfile \ + R_VERSION=${{ env.r-primary }} \ + R_VERSION_ALT=${{ env.r-alternate }} \ + PYTHON_VERSION=${{ env.py-primary }} \ + PYTHON_VERSION_ALT=${{ env.py-alternate }} \ + get-product-args \ + ${{ env.product }} \ + ${{ env.os }} \ + ${{ steps.get-version.outputs.VERSION }} \ + ) + echo "BUILD_ARGS<<$EOF" >> $GITHUB_OUTPUT + echo "$BUILD_ARGS" >> $GITHUB_OUTPUT + echo "$EOF" >> $GITHUB_OUTPUT + + - name: Get tags + id: get-tags + run: | + IMAGE_TAGS=$( \ + just -f ci.Justfile \ + R_VERSION=${{ env.r-primary }} \ + R_VERSION_ALT=${{ env.r-alternate }} \ + PYTHON_VERSION=${{ env.py-primary }} \ + PYTHON_VERSION_ALT=${{ env.py-alternate }} \ + get-product-tags \ + ${{ env.product }} \ + ${{ env.os }} \ + ${{ steps.get-version.outputs.VERSION }} \ + ) + echo "IMAGE_TAGS=$IMAGE_TAGS" >> $GITHUB_OUTPUT + + - name: Build/Test/Scan/Push product image + id: build1 + uses: ./.github/actions/build-test-scan-push + continue-on-error: true + with: + context: ./${{ env.product }} + os: ${{ env.os }} + product: ${{ env.product }} + image-tags: ${{ steps.get-tags.outputs.IMAGE_TAGS }} + build-args: ${{ steps.get-build-args.outputs.BUILD_ARGS }} + push-image: ${{ github.ref == 'refs/heads/main' || github.event.schedule == '0 14 * * 1' }} + snyk-token: ${{ secrets.SNYK_TOKEN }} + snyk-org-id: ${{ secrets.SNYK_ORG_ID }} + 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 }}' + + # Begin retry logic + + - name: Wait 60s on failure before retrying + if: steps.build1.outcome == 'failure' + run: sleep 60 + + - name: Retry - Build/Test/Scan/Push product image + id: build2 + if: steps.build1.outcome == 'failure' + uses: ./.github/actions/build-test-scan-push + with: + context: ./${{ env.product }} + os: ${{ env.os }} + product: ${{ env.product }} + image-tags: ${{ steps.get-tags.outputs.IMAGE_TAGS }} + build-args: ${{ steps.get-build-args.outputs.BUILD_ARGS }} + push-image: ${{ github.ref == 'refs/heads/main' || github.event.schedule == '0 14 * * 1' }} + snyk-token: ${{ secrets.SNYK_TOKEN }} + snyk-org-id: ${{ secrets.SNYK_ORG_ID }} + 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 }}' + + # End retry logic From 406c8e7f19070def4ebf77417c9e7de88228c1b1 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 4 Mar 2024 07:53:29 -0800 Subject: [PATCH 05/18] Remove concurrency rules on specialty builds --- .github/workflows/build-workbench-aml.yaml | 4 ---- .github/workflows/build-workbench-gcw.yaml | 4 ---- 2 files changed, 8 deletions(-) diff --git a/.github/workflows/build-workbench-aml.yaml b/.github/workflows/build-workbench-aml.yaml index dd1c028c..71a0f19c 100644 --- a/.github/workflows/build-workbench-aml.yaml +++ b/.github/workflows/build-workbench-aml.yaml @@ -24,10 +24,6 @@ jobs: contents: read packages: write - concurrency: - group: build-products-${{ env.product }}-${{ env.os }}-${{ github.ref }} - cancel-in-progress: true - steps: - name: Check Out Repo - cron main if: github.event.schedule == '0 14 * * 1' diff --git a/.github/workflows/build-workbench-gcw.yaml b/.github/workflows/build-workbench-gcw.yaml index 3ad22ff8..9bbf2cdd 100644 --- a/.github/workflows/build-workbench-gcw.yaml +++ b/.github/workflows/build-workbench-gcw.yaml @@ -17,10 +17,6 @@ jobs: contents: read packages: write - concurrency: - group: build-products-${{ matrix.config.product }}-${{ matrix.config.os }}-${{ github.ref }} - cancel-in-progress: true - steps: - name: Check Out Repo - cron main if: github.event.schedule == '0 14 * * 1' From e1806650e806b6d10109d27f4c00d9b1ee4e4964 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 4 Mar 2024 08:44:52 -0800 Subject: [PATCH 06/18] More aggressive storage trimming --- .github/actions/build-test-scan-push/action.yaml | 2 ++ .github/workflows/build-workbench-aml.yaml | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/.github/actions/build-test-scan-push/action.yaml b/.github/actions/build-test-scan-push/action.yaml index ebd4b1fe..46d8c56e 100644 --- a/.github/actions/build-test-scan-push/action.yaml +++ b/.github/actions/build-test-scan-push/action.yaml @@ -61,6 +61,8 @@ runs: run: | sudo rm -rf /usr/local/lib/android # will release about 10 GB sudo rm -rf /usr/share/dotnet # will release about 20GB + sudo rm -f /mnt/swapfile # will release about 4GB + sudo docker image prune --all --force # start fresh, unknown how much space this will release - name: Login to ghcr.io uses: docker/login-action@v3 diff --git a/.github/workflows/build-workbench-aml.yaml b/.github/workflows/build-workbench-aml.yaml index 71a0f19c..a104a645 100644 --- a/.github/workflows/build-workbench-aml.yaml +++ b/.github/workflows/build-workbench-aml.yaml @@ -25,6 +25,14 @@ jobs: packages: write steps: + + - name: Free Disk space + shell: bash + run: | + sudo rm -rf /usr/local/lib/android # will release about 10 GB + sudo rm -rf /usr/share/dotnet # will release about 20GB + sudo rm -f /mnt/swapfile # will release about 4GB + - name: Check Out Repo - cron main if: github.event.schedule == '0 14 * * 1' uses: actions/checkout@v3 From 3632ce3f5f3e913aabc433f87e6b8ba9778d2dcb Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 4 Mar 2024 08:53:37 -0800 Subject: [PATCH 07/18] Use jlumbroso/free-disk-space@v1.3.1 action to replace manual disk space clearing --- .../actions/build-test-scan-push/action.yaml | 17 ++++++++++------- .github/workflows/build-workbench-aml.yaml | 16 ++++++++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/actions/build-test-scan-push/action.yaml b/.github/actions/build-test-scan-push/action.yaml index 46d8c56e..11198efa 100644 --- a/.github/actions/build-test-scan-push/action.yaml +++ b/.github/actions/build-test-scan-push/action.yaml @@ -56,13 +56,16 @@ runs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Free Disk space - shell: bash - run: | - sudo rm -rf /usr/local/lib/android # will release about 10 GB - sudo rm -rf /usr/share/dotnet # will release about 20GB - sudo rm -f /mnt/swapfile # will release about 4GB - sudo docker image prune --all --force # start fresh, unknown how much space this will release + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@v1.3.1 + with: + tool-cache: false + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: false - name: Login to ghcr.io uses: docker/login-action@v3 diff --git a/.github/workflows/build-workbench-aml.yaml b/.github/workflows/build-workbench-aml.yaml index a104a645..47c67519 100644 --- a/.github/workflows/build-workbench-aml.yaml +++ b/.github/workflows/build-workbench-aml.yaml @@ -26,12 +26,16 @@ jobs: steps: - - name: Free Disk space - shell: bash - run: | - sudo rm -rf /usr/local/lib/android # will release about 10 GB - sudo rm -rf /usr/share/dotnet # will release about 20GB - sudo rm -f /mnt/swapfile # will release about 4GB + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@v1.3.1 + with: + tool-cache: false + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true - name: Check Out Repo - cron main if: github.event.schedule == '0 14 * * 1' From 9dcb4c2521acf2584b1fb1d6fbb38bf96fab6c98 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 4 Mar 2024 15:07:37 -0800 Subject: [PATCH 08/18] Remove two versions of R from WAML --- workbench-for-microsoft-azure-ml/deps/install-r.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workbench-for-microsoft-azure-ml/deps/install-r.sh b/workbench-for-microsoft-azure-ml/deps/install-r.sh index 99620614..d2dfb42d 100755 --- a/workbench-for-microsoft-azure-ml/deps/install-r.sh +++ b/workbench-for-microsoft-azure-ml/deps/install-r.sh @@ -29,7 +29,7 @@ install_r_packages() { } -for rvers in 4.0.5 4.1.3 4.2.3 4.3.2; do +for rvers in 4.1.3 4.2.3; do # install r version curl -O https://cdn.rstudio.com/r/ubuntu-$(lsb_release -rs | sed 's/\.//g')/pkgs/r-${rvers}_1_amd64.deb DEBIAN_FRONTEND=noninteractive apt-get install -y ./r-${rvers}_1_amd64.deb From bf1cedaa57d8bba0fcbea62a86ccf85920dc902f Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Tue, 5 Mar 2024 09:18:36 -0800 Subject: [PATCH 09/18] Fix goss test --- workbench-for-microsoft-azure-ml/test/goss.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/workbench-for-microsoft-azure-ml/test/goss.yaml b/workbench-for-microsoft-azure-ml/test/goss.yaml index 52f9b01b..e1676596 100644 --- a/workbench-for-microsoft-azure-ml/test/goss.yaml +++ b/workbench-for-microsoft-azure-ml/test/goss.yaml @@ -130,8 +130,7 @@ command: ] # test all R versions and packages - # "/opt/R/3.3.3/bin/R" "/opt/R/3.4.4/bin/R" - {{ $rvers := mkSlice "/opt/R/4.0.5/bin/R" "/opt/R/4.1.3/bin/R" "/opt/R/4.2.3/bin/R" "/opt/R/4.3.2/bin/R"}} + {{ $rvers := mkSlice "/opt/R/4.1.3/bin/R" "/opt/R/4.2.3/bin/R"}} {{ $pkgs := .Vars.packages}} # loops the library command for each R version to ensure expected libraries exist for all. # notably, it also ensures that each expected R version exists and is runnable From 8bc3b0d3f4c27fa146fd5b1be44993f6d2d4876b Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Tue, 5 Mar 2024 09:19:51 -0800 Subject: [PATCH 10/18] Add @costrouc as a general code owner --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9835d8ec..b377d884 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,5 @@ # format per https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#about-code-owners -* @colearendt @ianpittwood @bschwedler +* @colearendt @ianpittwood @bschwedler @costrouc /connect/* @rstudio/connect /connect-content-init/* @rstudio/connect From 0169367e9835749fdef7ccb19f93625bc50f0d25 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Tue, 5 Mar 2024 11:27:45 -0800 Subject: [PATCH 11/18] Remove rgdal --- workbench-for-microsoft-azure-ml/test/goss_vars.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/workbench-for-microsoft-azure-ml/test/goss_vars.yaml b/workbench-for-microsoft-azure-ml/test/goss_vars.yaml index b3baba4c..2669ba18 100644 --- a/workbench-for-microsoft-azure-ml/test/goss_vars.yaml +++ b/workbench-for-microsoft-azure-ml/test/goss_vars.yaml @@ -1,5 +1,4 @@ packages: - - rgdal - ggplot2 - mlflow - odbc From 65b8f46a3adf3a66200a21751032d0f71154dfc2 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 11 Mar 2024 09:34:42 -0700 Subject: [PATCH 12/18] Rollback R versions removal --- workbench-for-microsoft-azure-ml/deps/install-r.sh | 2 +- workbench-for-microsoft-azure-ml/test/goss.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/workbench-for-microsoft-azure-ml/deps/install-r.sh b/workbench-for-microsoft-azure-ml/deps/install-r.sh index d2dfb42d..99620614 100755 --- a/workbench-for-microsoft-azure-ml/deps/install-r.sh +++ b/workbench-for-microsoft-azure-ml/deps/install-r.sh @@ -29,7 +29,7 @@ install_r_packages() { } -for rvers in 4.1.3 4.2.3; do +for rvers in 4.0.5 4.1.3 4.2.3 4.3.2; do # install r version curl -O https://cdn.rstudio.com/r/ubuntu-$(lsb_release -rs | sed 's/\.//g')/pkgs/r-${rvers}_1_amd64.deb DEBIAN_FRONTEND=noninteractive apt-get install -y ./r-${rvers}_1_amd64.deb diff --git a/workbench-for-microsoft-azure-ml/test/goss.yaml b/workbench-for-microsoft-azure-ml/test/goss.yaml index e1676596..05269e7d 100644 --- a/workbench-for-microsoft-azure-ml/test/goss.yaml +++ b/workbench-for-microsoft-azure-ml/test/goss.yaml @@ -130,7 +130,7 @@ command: ] # test all R versions and packages - {{ $rvers := mkSlice "/opt/R/4.1.3/bin/R" "/opt/R/4.2.3/bin/R"}} + {{ $rvers := mkSlice "/opt/R/4.0.5/bin/R" "/opt/R/4.1.3/bin/R" "/opt/R/4.2.3/bin/R" "/opt/R/4.3.2/bin/R"}} {{ $pkgs := .Vars.packages}} # loops the library command for each R version to ensure expected libraries exist for all. # notably, it also ensures that each expected R version exists and is runnable From 21b508a88d3a36c3ae22ee2b1492d55fd650aa2f Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 11 Mar 2024 15:23:20 -0400 Subject: [PATCH 13/18] Resize github-actions runner for gcp and azure builds --- .github/workflows/build-workbench-aml.yaml | 2 +- .github/workflows/build-workbench-gcw.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-workbench-aml.yaml b/.github/workflows/build-workbench-aml.yaml index 47c67519..912ac18a 100644 --- a/.github/workflows/build-workbench-aml.yaml +++ b/.github/workflows/build-workbench-aml.yaml @@ -17,7 +17,7 @@ jobs: r-alternate: 4.1.3 py-primary: 3.9.14 py-alternate: 3.8.15 - runs-on: ubuntu-latest + runs-on: ubuntu-latest-4x name: build-workbench-for-azure-ml permissions: diff --git a/.github/workflows/build-workbench-gcw.yaml b/.github/workflows/build-workbench-gcw.yaml index 9bbf2cdd..750ae7bd 100644 --- a/.github/workflows/build-workbench-gcw.yaml +++ b/.github/workflows/build-workbench-gcw.yaml @@ -10,7 +10,7 @@ on: name: Workbench for GCW - Build, Test, Scan, and Push jobs: build-workbench-for-google-cloud-workstations: - runs-on: ubuntu-latest + runs-on: ubuntu-latest-4x name: build-workbench-for-google-cloud-workstations permissions: From f5489c95dad2162e3156bf3fcab35ea5d09d7bf3 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Mon, 11 Mar 2024 14:35:41 -0700 Subject: [PATCH 14/18] Removing initial space trimming to leave to action --- .github/workflows/build-workbench-aml.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.github/workflows/build-workbench-aml.yaml b/.github/workflows/build-workbench-aml.yaml index 47c67519..2a7d695a 100644 --- a/.github/workflows/build-workbench-aml.yaml +++ b/.github/workflows/build-workbench-aml.yaml @@ -26,17 +26,6 @@ jobs: steps: - - name: Free Disk Space (Ubuntu) - uses: jlumbroso/free-disk-space@v1.3.1 - with: - tool-cache: false - android: true - dotnet: true - haskell: true - large-packages: true - docker-images: true - swap-storage: true - - name: Check Out Repo - cron main if: github.event.schedule == '0 14 * * 1' uses: actions/checkout@v3 From bfb19009fdcded288680cf46aea562432e13e4b9 Mon Sep 17 00:00:00 2001 From: Ian Pittwood Date: Tue, 12 Mar 2024 13:10:10 -0700 Subject: [PATCH 15/18] Add false positive exclusions for WAML ClamAV --- .../Dockerfile.ubuntu2204 | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 index f3f0dc96..4a815694 100644 --- a/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 +++ b/workbench-for-microsoft-azure-ml/Dockerfile.ubuntu2204 @@ -150,9 +150,19 @@ RUN grep -v "DatabaseMirror" /etc/clamav/freshclam.conf > /etc/clamav/freshclam. # Update ClamAV RUN freshclam --log="/var/log/clamav/clamupdate.log" -# Scan all but /sys for viruses. If this fails, the Docker build will -# fail. -RUN clamscan --recursive --infected --exclude-dir="^/sys" --log "/var/log/clamav/clamscan.log" / +# Scan all but /sys for viruses. If this fails, the Docker build will fail. +# +# --exclude options are false positives per rstudio/rstudio-docker-products#704. +# They can likely be removed in the future after ClamAV's database is updated. +RUN clamscan \ + --recursive \ + --infected \ + --exclude-dir="^/sys" \ + --exclude="/opt/az/lib/python3.11/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl" \ + --exclude="/opt/az/lib/python3.11/site-packages/pip/_vendor/distlib/w32.exe" \ + --exclude="/opt/az/lib/python3.11/site-packages/pip/_vendor/distlib/w64-arm.exe" \ + --exclude="/opt/az/lib/python3.11/site-packages/pip/_vendor/distlib/t64-arm.exe" \ + --log "/var/log/clamav/clamscan.log" / # Ignore the intermediate 'clamav' multi-stage build step so we don't distribute From 3d1406954cb05c79b1d6c10c1696869cce7c7016 Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Thu, 14 Mar 2024 09:34:45 -0500 Subject: [PATCH 16/18] Update Pro Drivers to 2024.03.0 --- NEWS.md | 4 +++ ci.Justfile | 2 +- content/matrix.json | 42 +++++++++++++++---------------- content/pro/Dockerfile.ubuntu1804 | 2 +- content/pro/Dockerfile.ubuntu2204 | 2 +- content/pro/Justfile | 2 +- product/pro/Dockerfile.centos7 | 2 +- product/pro/Dockerfile.ubuntu2204 | 2 +- product/pro/Justfile | 2 +- r-session-complete/.env | 2 +- r-session-complete/Justfile | 2 +- 11 files changed, 34 insertions(+), 30 deletions(-) diff --git a/NEWS.md b/NEWS.md index 7ca614e2..e347fc9c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,10 @@ changed in each image. This file only captures pervasive, repository-wide changes. +# 2024-03-14 + +- Update Professional Drivers to 2024.03.0 + # 2024-03-01 - BREAKING: Update Quarto version to 1.4.550 diff --git a/ci.Justfile b/ci.Justfile index c1447b6b..79bf3dcc 100644 --- a/ci.Justfile +++ b/ci.Justfile @@ -9,7 +9,7 @@ R_VERSION_ALT := "4.1.3" PYTHON_VERSION := "3.9.17" PYTHON_VERSION_ALT := "3.8.17" -DRIVERS_VERSION := "2023.12.1" +DRIVERS_VERSION := "2024.03.0" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" QUARTO_VERSION := "1.4.550" diff --git a/content/matrix.json b/content/matrix.json index 4f84c28d..163b8ddd 100644 --- a/content/matrix.json +++ b/content/matrix.json @@ -1,23 +1,23 @@ [ - {"r": "3.1.3", "py": "2.7.18", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.2.5", "py": "2.7.18", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.3.3", "py": "3.6.13", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.4.4", "py": "3.6.13", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.4.4", "py": "3.7.10", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.5.3", "py": "2.7.18", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.5.3", "py": "3.7.10", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.6.3", "py": "2.7.18", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.6.3", "py": "3.6.13", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.6.3", "py": "3.8.8", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "4.0.5", "py": "3.6.13", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "4.0.5", "py": "3.7.10", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "4.0.5", "py": "3.8.8", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "4.0.5", "py": "3.9.2", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "4.1.0", "py": "3.8.8", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "4.1.0", "py": "3.9.2", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "4.1.3", "py": "3.10.4", "drivers": "2023.12.1", "os": "ubuntu1804", "os_alt": "bionic"}, - {"r": "3.6.3", "py": "3.8.16", "drivers": "2023.12.1", "os": "ubuntu2204", "os_alt": "jammy"}, - {"r": "4.0.5", "py": "3.9.16", "drivers": "2023.12.1", "os": "ubuntu2204", "os_alt": "jammy"}, - {"r": "4.1.3", "py": "3.10.11", "drivers": "2023.12.1", "os": "ubuntu2204", "os_alt": "jammy"}, - {"r": "4.2.2", "py": "3.11.3", "drivers": "2023.12.1", "os": "ubuntu2204", "os_alt": "jammy"} + {"r": "3.1.3", "py": "2.7.18", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.2.5", "py": "2.7.18", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.3.3", "py": "3.6.13", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.4.4", "py": "3.6.13", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.4.4", "py": "3.7.10", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.5.3", "py": "2.7.18", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.5.3", "py": "3.7.10", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.6.3", "py": "2.7.18", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.6.3", "py": "3.6.13", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.6.3", "py": "3.8.8", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "4.0.5", "py": "3.6.13", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "4.0.5", "py": "3.7.10", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "4.0.5", "py": "3.8.8", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "4.0.5", "py": "3.9.2", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "4.1.0", "py": "3.8.8", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "4.1.0", "py": "3.9.2", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "4.1.3", "py": "3.10.4", "drivers": "2024.03.0", "os": "ubuntu1804", "os_alt": "bionic"}, + {"r": "3.6.3", "py": "3.8.16", "drivers": "2024.03.0", "os": "ubuntu2204", "os_alt": "jammy"}, + {"r": "4.0.5", "py": "3.9.16", "drivers": "2024.03.0", "os": "ubuntu2204", "os_alt": "jammy"}, + {"r": "4.1.3", "py": "3.10.11", "drivers": "2024.03.0", "os": "ubuntu2204", "os_alt": "jammy"}, + {"r": "4.2.2", "py": "3.11.3", "drivers": "2024.03.0", "os": "ubuntu2204", "os_alt": "jammy"} ] diff --git a/content/pro/Dockerfile.ubuntu1804 b/content/pro/Dockerfile.ubuntu1804 index feb9d659..e3be3d7f 100644 --- a/content/pro/Dockerfile.ubuntu1804 +++ b/content/pro/Dockerfile.ubuntu1804 @@ -6,7 +6,7 @@ FROM ${REGISTRY}/rstudio/content-base:r${R_VERSION}-py${PYTHON_VERSION}-ubuntu18 LABEL maintainer="RStudio Docker " # Install RStudio Professional Drivers ----------------------------------------# -ARG DRIVERS_VERSION=2023.12.1 +ARG DRIVERS_VERSION=2024.03.0 ARG R_VERSION ARG DEBIAN_FRONTEND=noninteractive diff --git a/content/pro/Dockerfile.ubuntu2204 b/content/pro/Dockerfile.ubuntu2204 index afbf342b..4a8066b5 100644 --- a/content/pro/Dockerfile.ubuntu2204 +++ b/content/pro/Dockerfile.ubuntu2204 @@ -6,7 +6,7 @@ FROM ${REGISTRY}/rstudio/content-base:r${R_VERSION}-py${PYTHON_VERSION}-ubuntu22 LABEL maintainer="RStudio Docker " # Install RStudio Professional Drivers ----------------------------------------# -ARG DRIVERS_VERSION=2023.12.1 +ARG DRIVERS_VERSION=2024.03.0 ARG R_VERSION ARG DEBIAN_FRONTEND=noninteractive diff --git a/content/pro/Justfile b/content/pro/Justfile index d43ae361..1d77ae54 100755 --- a/content/pro/Justfile +++ b/content/pro/Justfile @@ -10,7 +10,7 @@ R_VERSION := "3.6.3" PYTHON_VERSION := "3.9.5" -DRIVERS_VERSION := "2023.12.1" +DRIVERS_VERSION := "2024.03.0" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" DEFAULT_TAG := IMAGE_PREFIX + PRODUCT + ":r" + R_VERSION + "-py" + PYTHON_VERSION + "-" + IMAGE_OS diff --git a/product/pro/Dockerfile.centos7 b/product/pro/Dockerfile.centos7 index f342b95c..107cbd61 100644 --- a/product/pro/Dockerfile.centos7 +++ b/product/pro/Dockerfile.centos7 @@ -11,7 +11,7 @@ ARG R_VERSION=4.2.0 ARG R_VERSION_ALT=3.6.2 ARG PYTHON_VERSION=3.9.14 ARG PYTHON_VERSION_ALT=3.8.15 -ARG DRIVERS_VERSION=2023.12.1-1 +ARG DRIVERS_VERSION=2024.03.0-1 RUN yum update -y \ && yum install -y unixODBC unixODBC-devel \ diff --git a/product/pro/Dockerfile.ubuntu2204 b/product/pro/Dockerfile.ubuntu2204 index 892d99e4..3914cffb 100644 --- a/product/pro/Dockerfile.ubuntu2204 +++ b/product/pro/Dockerfile.ubuntu2204 @@ -12,7 +12,7 @@ ARG R_VERSION=4.2.3 ARG R_VERSION_ALT=4.1.3 ARG PYTHON_VERSION=3.9.17 ARG PYTHON_VERSION_ALT=3.8.17 -ARG DRIVERS_VERSION=2023.12.1 +ARG DRIVERS_VERSION=2024.03.0 RUN apt-get update \ && apt-get install -yq --no-install-recommends unixodbc unixodbc-dev \ diff --git a/product/pro/Justfile b/product/pro/Justfile index 41d37a18..a0b4aba8 100644 --- a/product/pro/Justfile +++ b/product/pro/Justfile @@ -16,7 +16,7 @@ PYTHON_VERSION_ALT := "3.8.17" TINI_VERSION := "0.19.0" QUARTO_VERSION := "1.4.550" -DRIVERS_VERSION := "2023.12.1" +DRIVERS_VERSION := "2024.03.0" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" _make-default-tag OS=IMAGE_OS: diff --git a/r-session-complete/.env b/r-session-complete/.env index 02e0c736..fccaa926 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=2023.12.1+402.pro1 -DRIVERS_VERSION=2023.12.1-1 +DRIVERS_VERSION=2024.03.0-1 diff --git a/r-session-complete/Justfile b/r-session-complete/Justfile index 529be69f..da24d830 100755 --- a/r-session-complete/Justfile +++ b/r-session-complete/Justfile @@ -9,7 +9,7 @@ IMAGE_OS := "ubuntu2204" RSW_VERSION := "2023.12.1+402.pro1" RSW_LICENSE := "" -DRIVERS_VERSION := "2023.12.1" +DRIVERS_VERSION := "2024.03.0" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" R_VERSION := "4.2.3" From 077f09b67579e2263f8ab50bffdd4537b10390ae Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Mon, 18 Mar 2024 08:41:16 -0500 Subject: [PATCH 17/18] Update filename for EL drivers package The filename for the Enterprise Linux drivers package removed the version from the filename. This commit corrects this for the centos7 image. --- product/pro/Dockerfile.centos7 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/product/pro/Dockerfile.centos7 b/product/pro/Dockerfile.centos7 index 107cbd61..0214e2ab 100644 --- a/product/pro/Dockerfile.centos7 +++ b/product/pro/Dockerfile.centos7 @@ -15,10 +15,10 @@ ARG DRIVERS_VERSION=2024.03.0-1 RUN yum update -y \ && yum install -y unixODBC unixODBC-devel \ - && curl -O https://cdn.rstudio.com/drivers/7C152C12/installer/rstudio-drivers-${DRIVERS_VERSION}.el7.x86_64.rpm \ - && yum install -y ./rstudio-drivers-${DRIVERS_VERSION}.el7.x86_64.rpm \ + && curl -O https://cdn.rstudio.com/drivers/7C152C12/installer/rstudio-drivers-${DRIVERS_VERSION}.el.x86_64.rpm \ + && yum install -y ./rstudio-drivers-${DRIVERS_VERSION}.el.x86_64.rpm \ && yum clean all \ - && rm -f rstudio-drivers-${DRIVERS_VERSION}.el7.x86_64.rpm \ + && rm -f rstudio-drivers-${DRIVERS_VERSION}.el.x86_64.rpm \ && cp /opt/rstudio-drivers/odbcinst.ini.sample /etc/odbcinst.ini \ && "/opt/R/${R_VERSION}/bin/R" -e 'install.packages("odbc", repos="https://packagemanager.rstudio.com/cran/__linux__/centos7/latest")' From 7259bcb2dc2f01b9783041c3c059284e82d199cc Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Fri, 22 Mar 2024 08:51:19 -0500 Subject: [PATCH 18/18] Revert "Merge pull request #699 from rstudio/kg-quarto-update-1.4.550" This reverts commit 2fa5480f9f103ddfecd7db4d954f0447f99efb14, reversing changes made to e0fa3ab39e64e6e9b03febcbcb97e71a96210596. We do not want to update Quarto globally across all images due to the coordination required across the helm charts for the individual products. --- Justfile | 2 +- NEWS.md | 4 ---- ci.Justfile | 2 +- connect/NEWS.md | 4 ---- connect/rstudio-connect.gcfg | 2 +- content/base/Dockerfile.ubuntu2204 | 2 +- content/base/Justfile | 2 +- content/base/NEWS.md | 4 ---- content/base/maybe_install_quarto.sh | 4 ++-- product/base/Dockerfile.centos7 | 2 +- product/base/Dockerfile.ubuntu2204 | 2 +- product/base/Justfile | 2 +- product/pro/Justfile | 2 +- workbench-for-google-cloud-workstations/.env | 2 +- workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 | 2 +- 15 files changed, 13 insertions(+), 25 deletions(-) diff --git a/Justfile b/Justfile index 6f5d25fd..59152788 100644 --- a/Justfile +++ b/Justfile @@ -21,7 +21,7 @@ PYTHON_VERSION_ALT := "3.8.17" PYTHON_VERSION_RHEL := "3.9.14" PYTHON_VERSION_ALT_RHEL := "3.8.15" -QUARTO_VERSION := "1.4.550" +QUARTO_VERSION := "1.3.450" # just _get-tag-safe-version 2022.07.2+576.pro12 _get-tag-safe-version $VERSION: diff --git a/NEWS.md b/NEWS.md index e347fc9c..2a981260 100644 --- a/NEWS.md +++ b/NEWS.md @@ -9,10 +9,6 @@ This file only captures pervasive, repository-wide changes. - Update Professional Drivers to 2024.03.0 -# 2024-03-01 - -- BREAKING: Update Quarto version to 1.4.550 - # 2024-02-01 - Update Pro Drivers to 2023.12.1 diff --git a/ci.Justfile b/ci.Justfile index 79bf3dcc..39261319 100644 --- a/ci.Justfile +++ b/ci.Justfile @@ -12,7 +12,7 @@ PYTHON_VERSION_ALT := "3.8.17" DRIVERS_VERSION := "2024.03.0" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" -QUARTO_VERSION := "1.4.550" +QUARTO_VERSION := "1.3.340" # just _get-os-alias jammy _get-os-alias OS: diff --git a/connect/NEWS.md b/connect/NEWS.md index bdef561d..812a78cd 100644 --- a/connect/NEWS.md +++ b/connect/NEWS.md @@ -1,7 +1,3 @@ -# 2024-03-01 - -- BREAKING: Update Quarto version to 1.4.550 - # 2023-08-01 - BREAKING: Removed R 3.6.2, replaced with R 4.1.3. - Updated R 4.2.0 to 4.2.3. diff --git a/connect/rstudio-connect.gcfg b/connect/rstudio-connect.gcfg index d06c6ce8..376d08c2 100644 --- a/connect/rstudio-connect.gcfg +++ b/connect/rstudio-connect.gcfg @@ -35,7 +35,7 @@ Executable = /opt/python/{{PYTHON_VERSION_ALT}}/bin/python [Quarto] Enabled = true -Executable = /opt/quarto/1.4.550/bin/quarto +Executable = /opt/quarto/1.3.340/bin/quarto [RPackageRepository "CRAN"] URL = https://packagemanager.rstudio.com/cran/__linux__/jammy/latest diff --git a/content/base/Dockerfile.ubuntu2204 b/content/base/Dockerfile.ubuntu2204 index 9fd5571e..030eab0b 100644 --- a/content/base/Dockerfile.ubuntu2204 +++ b/content/base/Dockerfile.ubuntu2204 @@ -117,7 +117,7 @@ RUN curl -O https://cdn.rstudio.com/python/${DISTRIBUTION}/pkgs/python-${PYTHON_ && /opt/python/${PYTHON_VERSION}/bin/python3 -m pip install --upgrade setuptools # install quarto -ARG QUARTO_VERSION=1.4.550 +ARG QUARTO_VERSION=1.3.340 COPY maybe_install_quarto.sh /tmp/maybe_install_quarto.sh RUN /opt/R/${R_VERSION}/bin/R -e 'install.packages("odbc", repos="https://packagemanager.rstudio.com/cran/__linux__/bionic/latest")' \ && /tmp/maybe_install_quarto.sh \ diff --git a/content/base/Justfile b/content/base/Justfile index a76eb9b5..a1defbf8 100755 --- a/content/base/Justfile +++ b/content/base/Justfile @@ -10,7 +10,7 @@ R_VERSION := "3.6.3" PYTHON_VERSION := "3.9.5" -QUARTO_VERSION := "1.4.550" +QUARTO_VERSION := "1.3.340" DEFAULT_TAG := IMAGE_PREFIX + PRODUCT + ":r" + R_VERSION + "-py" + PYTHON_VERSION + "-" + IMAGE_OS diff --git a/content/base/NEWS.md b/content/base/NEWS.md index f80f7d52..47839d89 100644 --- a/content/base/NEWS.md +++ b/content/base/NEWS.md @@ -1,7 +1,3 @@ -# 2024-03-01 - -- BREAKING: Update Quarto version to 1.4.550 - # 2023-04-26 - Use the Quarto release 1.3.340 in jammy images. diff --git a/content/base/maybe_install_quarto.sh b/content/base/maybe_install_quarto.sh index 5cebc8e1..cb06e6c8 100755 --- a/content/base/maybe_install_quarto.sh +++ b/content/base/maybe_install_quarto.sh @@ -3,7 +3,7 @@ # on bionic, only install quarto if python 3.10 and R 4.1 # TODO: figure out a different hierarchy... if [[ `grep -oE bionic /etc/lsb-release` ]] && [[ `ls /opt/python/ | grep '3\.10\.'` ]] && [[ `ls /opt/R | grep '4\.1\.'` ]]; then - qver=${QUARTO_VERSION:-1.4.550} + qver=${QUARTO_VERSION:-1.3.340} echo '--> Installing Quarto' curl -L -o /quarto.deb https://github.com/quarto-dev/quarto-cli/releases/download/v${qver}/quarto-${qver}-linux-amd64.deb apt install /quarto.deb @@ -12,7 +12,7 @@ fi # on jammy, always install quarto if [[ `grep -oE jammy /etc/lsb-release` ]]; then - qver=${QUARTO_VERSION:-1.4.550} + qver=${QUARTO_VERSION:-1.3.340} echo '--> Installing Quarto' curl -L -o /quarto.tar.gz "https://github.com/quarto-dev/quarto-cli/releases/download/v${qver}/quarto-${qver}-linux-amd64.tar.gz" mkdir -p /opt/quarto/${qver} diff --git a/product/base/Dockerfile.centos7 b/product/base/Dockerfile.centos7 index 2070ba2e..27341082 100644 --- a/product/base/Dockerfile.centos7 +++ b/product/base/Dockerfile.centos7 @@ -7,7 +7,7 @@ ARG R_VERSION_ALT=3.6.2 ARG PYTHON_VERSION=3.9.14 ARG PYTHON_VERSION_ALT=3.8.15 ARG TINI_VERSION=0.19.0 -ARG QUARTO_VERSION=1.4.550 +ARG QUARTO_VERSION=1.3.340 ### Update/upgrade system packages ### RUN yum upgrade -y -q \ diff --git a/product/base/Dockerfile.ubuntu2204 b/product/base/Dockerfile.ubuntu2204 index c191eed7..f326b3e3 100644 --- a/product/base/Dockerfile.ubuntu2204 +++ b/product/base/Dockerfile.ubuntu2204 @@ -8,7 +8,7 @@ ARG R_VERSION_ALT=4.1.3 ARG PYTHON_VERSION=3.9.17 ARG PYTHON_VERSION_ALT=3.8.17 ARG TINI_VERSION=0.19.0 -ARG QUARTO_VERSION=1.4.550 +ARG QUARTO_VERSION=1.3.340 ### Update/upgrade system packages ### RUN apt-get update --fix-missing \ diff --git a/product/base/Justfile b/product/base/Justfile index 54f0ef56..00c60378 100755 --- a/product/base/Justfile +++ b/product/base/Justfile @@ -14,7 +14,7 @@ PYTHON_VERSION := "3.9.17" PYTHON_VERSION_ALT := "3.8.17" TINI_VERSION := "0.19.0" -QUARTO_VERSION := "1.4.550" +QUARTO_VERSION := "1.3.340" _make-default-tag OS=IMAGE_OS: echo "{{IMAGE_REGISTRY}}/{{PRODUCT}}:{{OS}}-r{{R_VERSION}}_{{R_VERSION_ALT}}-py{{PYTHON_VERSION}}_{{PYTHON_VERSION_ALT}}" diff --git a/product/pro/Justfile b/product/pro/Justfile index a0b4aba8..d07474f0 100644 --- a/product/pro/Justfile +++ b/product/pro/Justfile @@ -14,7 +14,7 @@ PYTHON_VERSION := "3.9.17" PYTHON_VERSION_ALT := "3.8.17" TINI_VERSION := "0.19.0" -QUARTO_VERSION := "1.4.550" +QUARTO_VERSION := "1.3.340" DRIVERS_VERSION := "2024.03.0" DRIVERS_VERSION_RHEL := DRIVERS_VERSION + "-1" diff --git a/workbench-for-google-cloud-workstations/.env b/workbench-for-google-cloud-workstations/.env index 45b72c01..f87a5c6b 100644 --- a/workbench-for-google-cloud-workstations/.env +++ b/workbench-for-google-cloud-workstations/.env @@ -8,5 +8,5 @@ PYTHON_VERSION_JUPYTER=3.10.13 R_VERSION=4.2.3 R_VERSION_ALT=4.1.3 DRIVERS_VERSION=2023.05.0 -QUARTO_VERSION=1.4.550 +QUARTO_VERSION=1.3.340 IMAGE_REGISTRY_NAME=us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench diff --git a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 index 7ceab95f..b612a6a9 100644 --- a/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 +++ b/workbench-for-google-cloud-workstations/Dockerfile.ubuntu2004 @@ -8,7 +8,7 @@ ARG PYTHON_VERSION=3.11.7 ARG PYTHON_VERSION_ALT=3.10.13 ARG PYTHON_VERSION_JUPYTER=3.10.13 ARG JUPYTERLAB_VERSION=3.6.5 -ARG QUARTO_VERSION=1.4.550 +ARG QUARTO_VERSION=1.3.450 ARG DRIVERS_VERSION=2023.05.0 ARG RSW_VERSION=2023.12.1+402.pro1 ARG RSW_NAME=rstudio-workbench