From d76665490e9a2c9c7876f5e5f3199c983202b603 Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Fri, 11 Sep 2026 09:27:40 -0500 Subject: [PATCH 1/2] Enforce <= 1.0.0 in release --- .github/workflows/product-release.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/product-release.yml b/.github/workflows/product-release.yml index b5f0fe5f..e995a92e 100644 --- a/.github/workflows/product-release.yml +++ b/.github/workflows/product-release.yml @@ -92,6 +92,17 @@ jobs: echo "value=$APP_VERSION" >> "$GITHUB_OUTPUT" + - name: Require pre-1.0.0 chart + env: + CHART_NAME: ${{ steps.chart.outputs.name }} + run: | + CHART_VERSION=$(yq -r '.version' "charts/${CHART_NAME}/Chart.yaml") + MAJOR=${CHART_VERSION%%.*} + if ! [[ "$MAJOR" =~ ^[0-9]+$ ]] || [ "$MAJOR" -ge 1 ]; then + echo "::error::Product releases require a chart version below 1.0.0; found ${CHART_VERSION}" + exit 1 + fi + - name: Check current appVersion id: current env: From ce7b7612c81148faf3eb4ad47e7d67fd47c120a5 Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Fri, 11 Sep 2026 09:33:48 -0500 Subject: [PATCH 2/2] Add versioning policy --- .gitignore | 2 ++ README.md | 15 +++++++++++++++ charts/_templates.gotmpl | 19 +++++++++++++++++++ charts/posit-chronicle/README.md | 15 +++++++++++++++ charts/rstudio-connect/README.md | 15 +++++++++++++++ charts/rstudio-launcher-rbac/README.md | 15 +++++++++++++++ charts/rstudio-library/README.md | 15 +++++++++++++++ charts/rstudio-pm/README.md | 15 +++++++++++++++ charts/rstudio-workbench/README.md | 15 +++++++++++++++ index.qmd | 15 +++++++++++++++ 10 files changed, 141 insertions(+) diff --git a/.gitignore b/.gitignore index cc9c4a8d..4c99e490 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ _publish.yml # helm packages *.tgz + +**/*.quarto_ipynb diff --git a/README.md b/README.md index eaadce82..4f5fa91f 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,21 @@ > If you are upgrading from an earlier version, read the > [image migration guide](https://docs.posit.co/helm/docs/migrating-to-posit-images.html) first. +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## Usage 1. Install [Helm](https://helm.sh). Please refer to Helm's [documentation](https://helm.sh/docs/) for more information on getting started. diff --git a/charts/_templates.gotmpl b/charts/_templates.gotmpl index 931fe175..4cb5c7c7 100644 --- a/charts/_templates.gotmpl +++ b/charts/_templates.gotmpl @@ -22,6 +22,25 @@ Workbench. {{- print "" | nindent 0 }} {{- print "" | nindent 0 }} {{- template "rstudio.blurb" . }} + {{- template "rstudio.versioning" . }} +{{- end }} + +{{- define "rstudio.versioning" }} + +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. {{- end }} {{- define "rstudio.header" }} diff --git a/charts/posit-chronicle/README.md b/charts/posit-chronicle/README.md index e315a3c0..069a64fa 100644 --- a/charts/posit-chronicle/README.md +++ b/charts/posit-chronicle/README.md @@ -19,6 +19,21 @@ and [Connect](https://github.com/rstudio/helm/tree/main/charts/rstudio-connect#c organization's use of other Posit products, primarily Posit Connect and Workbench. +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## For production To ensure a stable production deployment: diff --git a/charts/rstudio-connect/README.md b/charts/rstudio-connect/README.md index c210322c..345c4ed3 100644 --- a/charts/rstudio-connect/README.md +++ b/charts/rstudio-connect/README.md @@ -7,6 +7,21 @@ Business Users and Collaborators use R and Python data products on [Posit Connect](https://posit.co/products/enterprise/connect/) that are published by Data Scientists. +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## Best practices Helm charts are very useful tools for deploying resources into Kubernetes, however, they do require diff --git a/charts/rstudio-launcher-rbac/README.md b/charts/rstudio-launcher-rbac/README.md index 2fa4e439..0f11cea6 100644 --- a/charts/rstudio-launcher-rbac/README.md +++ b/charts/rstudio-launcher-rbac/README.md @@ -4,6 +4,21 @@ #### _RBAC definition for the RStudio Job Launcher_ +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## For production To ensure a stable production deployment: diff --git a/charts/rstudio-library/README.md b/charts/rstudio-library/README.md index 849c8ade..aff1de49 100644 --- a/charts/rstudio-library/README.md +++ b/charts/rstudio-library/README.md @@ -4,6 +4,21 @@ #### _Helm library helpers for use by official RStudio charts_ +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## For production To ensure a stable production deployment: diff --git a/charts/rstudio-pm/README.md b/charts/rstudio-pm/README.md index bddee062..afcb0f40 100644 --- a/charts/rstudio-pm/README.md +++ b/charts/rstudio-pm/README.md @@ -7,6 +7,21 @@ IT Administrators use [Posit Package Manager](https://posit.co/products/enterprise/package-manager/) to control and manage R and Python packages that Data Scientists need to create and share data products. +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## For production To ensure a stable production deployment: diff --git a/charts/rstudio-workbench/README.md b/charts/rstudio-workbench/README.md index ca399c43..96caefac 100644 --- a/charts/rstudio-workbench/README.md +++ b/charts/rstudio-workbench/README.md @@ -7,6 +7,21 @@ Data Scientists use [Posit Workbench](https://posit.co/products/enterprise/workbench/) to analyze data and create data products using R and Python. +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## For production To ensure a stable production deployment: diff --git a/index.qmd b/index.qmd index c5891998..0da61383 100644 --- a/index.qmd +++ b/index.qmd @@ -17,6 +17,21 @@ See the [image migration guide](docs/migrating-to-posit-images.qmd) for details. ::: +## Chart versioning + +Chart versions use [SemVer](https://semver.org/) and follow [Helm's chart +versioning guidance](https://helm.sh/docs/topics/charts/#charts-and-versioning). They describe the chart. + +Product versions belong in `appVersion`. + +While a chart is below `1.0.0`: + +- Minor: breaking changes or changes that require user action +- Patch: product releases, enhancements, bug fixes, and other compatible changes +- Major: not used + +After `1.0.0`, standard SemVer applies. + ## Usage 1. Install [Helm](https://helm.sh). Please refer to the [Helm documentation](https://helm.sh/docs/) for more information on getting started.