From 677bcfffd163ed8808ddd7e20bbc3fe0a5a06c2e Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Mon, 13 Apr 2026 10:49:29 -0700 Subject: [PATCH 1/2] describe steps for releasing provision script changes --- .../template/build/phases/base/provision.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 packages/orchestrator/pkg/template/build/phases/base/provision.md diff --git a/packages/orchestrator/pkg/template/build/phases/base/provision.md b/packages/orchestrator/pkg/template/build/phases/base/provision.md new file mode 100644 index 0000000000..f8b03f1894 --- /dev/null +++ b/packages/orchestrator/pkg/template/build/phases/base/provision.md @@ -0,0 +1,18 @@ +The provison.sh script file sets up any base dependencies required for running envd and sdk commands. + +# change rollout process + +The provision.sh script is executed immediately after the docker image is pulled from the registry, and before running +any other build commands. As such, it is most likely cached for any builds. This caching is problematic, as it means that +the provision.sh script will most likely not be executed if the template is rebuilt. + +There are two considerations to be made when rolling out new versions of the template: +- We don't want to overwhelm the template managers by invalidating all cache at once. +- We want to communicate to the end users that, in order to take advantage of new features, customers need to rebuild their templates. + +Current process: + +1. Deploy template managers with the new version of `provision.sh`. +2. Increment the `build-provision-version` environment variable in the template manager deployment. +3. Bump the envd version number and release it. Gate the release of new envd/sdk features with the new envd version. +4. Update the dashboard to alert users to rebuild their templates to take advantage of the new features. From 1da743747301f33af49d8b90858e8ecbb8798358 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Mon, 13 Apr 2026 15:43:21 -0700 Subject: [PATCH 2/2] Update documentation to be more accurate, less judgy --- .../pkg/template/build/phases/base/provision.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/orchestrator/pkg/template/build/phases/base/provision.md b/packages/orchestrator/pkg/template/build/phases/base/provision.md index f8b03f1894..b49e406bd5 100644 --- a/packages/orchestrator/pkg/template/build/phases/base/provision.md +++ b/packages/orchestrator/pkg/template/build/phases/base/provision.md @@ -3,8 +3,8 @@ The provison.sh script file sets up any base dependencies required for running e # change rollout process The provision.sh script is executed immediately after the docker image is pulled from the registry, and before running -any other build commands. As such, it is most likely cached for any builds. This caching is problematic, as it means that -the provision.sh script will most likely not be executed if the template is rebuilt. +any other build commands, and the result is cached. As such, it is most likely cached for any future builds. The caching +means that the provision.sh script will most likely not be executed if the template is rebuilt. There are two considerations to be made when rolling out new versions of the template: - We don't want to overwhelm the template managers by invalidating all cache at once. @@ -15,4 +15,4 @@ Current process: 1. Deploy template managers with the new version of `provision.sh`. 2. Increment the `build-provision-version` environment variable in the template manager deployment. 3. Bump the envd version number and release it. Gate the release of new envd/sdk features with the new envd version. -4. Update the dashboard to alert users to rebuild their templates to take advantage of the new features. +4. (optional) Update the dashboard to alert users to rebuild their templates to take advantage of the new features.