-
Notifications
You must be signed in to change notification settings - Fork 11k
[draft] adding build image policies for Workers Builds and Pages #26840
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
This pull request requires reviews from CODEOWNERS as it changes files that match the following patterns:
|
|
|
||
| - **Minor version updates**: Default versions are updated to the latest minor version without notice (e.g., Node.js 22.15.0 → 22.16.0). If you need a specific minor version, [override the default version](/workers/ci-cd/builds/build-image/#overriding-default-versions). | ||
|
|
||
| - **Major version updates**: When a language runtime or tool approaches its end-of-life (EOL) date, e.g. Node.js, we update to the latest supported version. We will provide at least 3 months advance notice via |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **Major version updates**: When a language runtime or tool approaches its end-of-life (EOL) date, e.g. Node.js, we update to the latest supported version. We will provide at least 3 months advance notice via | |
| - **Major version updates**: When a language runtime or tool approaches its end-of-life (EOL) date, e.g. Node.js, we update the build image to the latest supported version. We will provide at least 3 months advance notice via |
We update to the latest supported version or to the oldest supported version?
Ex — we are saying Node.js 24 or 26?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clarified in this most recent commit -- we'd be moving to the next version not the latest one
|
|
||
| - **Major version updates**: When a language runtime or tool approaches its end-of-life (EOL) date, e.g. Node.js, we update to the latest supported version. We will provide at least 3 months advance notice via | ||
| - [Cloudflare Changelog](https://developers.cloudflare.com/changelog/) | ||
| - Dashboard notification to affected projects upon announcement |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"affected" is ambiguous here - i could take that to mean
- cloudflare will notify me if my code relies on an API that will break with the transition
- cloudflare will notify me if they know I am relying on that dependency
- cloudflare will notify me if I am currently pinned to an older version
| We've published build image policies for [Workers Builds](/workers/ci-cd/builds/build-image/#build-image-policy) and [Cloudflare Pages](/pages/configuration/build-image/#build-image-policy) that establish: | ||
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice | ||
| - **Major version updates**: When language runtimes or tools reach end-of-life, we update to the next stable LTS version with at least 3 months advance notice via Changelog and dashboard notifications |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be great if this was also an email notification I think. It's not uncommon for folks to not touch projects for >3 months, and changelogs are just supplementary to user comms.
|
|
||
| We've published build image policies for [Workers Builds](/workers/ci-cd/builds/build-image/#build-image-policy) and [Cloudflare Pages](/pages/configuration/build-image/#build-image-policy) that establish: | ||
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How will this work for anything that is zero-versioned, like Hugo? The current version is extended_0.147.7, and I believe breaking changes are very common in minor versions for them at this stage.
|
|
||
| We've published build image policies for [Workers Builds](/workers/ci-cd/builds/build-image/#build-image-policy) and [Cloudflare Pages](/pages/configuration/build-image/#build-image-policy) that establish: | ||
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How will this work for projects that don't follow semver, like Bun? Bun is quite popular, but doesn't really follow semver - we saw breaking changes from 1.1 -> 1.2, 1.2 -> 1.3, etc.
|
|
||
| We've published build image policies for [Workers Builds](/workers/ci-cd/builds/build-image/#build-image-policy) and [Cloudflare Pages](/pages/configuration/build-image/#build-image-policy) that establish: | ||
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun, Hugo), minor updates that may contain breaking changes will receive 3 months notice via Changelog, dashboard notifications, and email |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should soften to may be here?
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun, Hugo), minor updates that may contain breaking changes will receive 3 months notice via Changelog, dashboard notifications, and email | |
| - **Minor version updates**: Default versions may be updated to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun, Hugo), minor updates that may contain breaking changes will receive 3 months notice via Changelog, dashboard notifications, and email |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Default versions of what?
| We've published build image policies for [Workers Builds](/workers/ci-cd/builds/build-image/#build-image-policy) and [Cloudflare Pages](/pages/configuration/build-image/#build-image-policy) that establish: | ||
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun, Hugo), minor updates that may contain breaking changes will receive 3 months notice via Changelog, dashboard notifications, and email | ||
| - **Major version updates**: When language runtimes or tools reach end-of-life, we update to the next stable LTS version with 3 months notice via Changelog, dashboard notifications, and email |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this should say "before they reach EOL"?
We may update tools well before they reach EOL so that we aren't having to make many updates throughout the year
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
|
|
||
| We've published build image policies for [Workers Builds](/workers/ci-cd/builds/build-image/#build-image-policy) and [Cloudflare Pages](/pages/configuration/build-image/#build-image-policy) that establish: | ||
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun, Hugo), minor updates that may contain breaking changes will receive 3 months notice via Changelog, dashboard notifications, and email |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Default versions of what?
| We've published build image policies for [Workers Builds](/workers/ci-cd/builds/build-image/#build-image-policy) and [Cloudflare Pages](/pages/configuration/build-image/#build-image-policy) that establish: | ||
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun, Hugo), minor updates that may contain breaking changes will receive 3 months notice via Changelog, dashboard notifications, and email | ||
| - **Major version updates**: When language runtimes or tools reach end-of-life, we update to the next stable LTS version with 3 months notice via Changelog, dashboard notifications, and email |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
|
|
||
| - **Minor version updates**: Default versions are updated to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun, Hugo), minor updates that may contain breaking changes will receive 3 months notice via Changelog, dashboard notifications, and email | ||
| - **Major version updates**: When language runtimes or tools reach end-of-life, we update to the next stable LTS version with 3 months notice via Changelog, dashboard notifications, and email | ||
| - **Build image version deprecation** (Pages only): Build image versions are supported for at least 2 years and receive 6 months notice before removal via Changelog, dashboard notifications, and email |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a build image version is no longer supported, customers will be moved to the newer build image version
Would be good to say this, otherwise it is undefined what happens when a build image is "removed"
But if I get it that I'll just be moved onto the latest, I get that - in the base case, lot of things keep working, it's not like we are going to just turn off your builds, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing that would be good to clarify
We are saying that for both Workers and Pages, we make minor bumps all the time, and we make major bumps with advance notice and before EOL.
So — for both Workers and Pages — there is no reason from here forward to deprecate a build image version. Because even for Pages — so long as we are keeping dependencies up-to-date, there's not a need to deprecate a build image. Deps just get updated — v3 will just continue to get updated dependencies moving forward
i.e. — before our approach to this was to have distinct build images
...and now our approach to this is just — update dependencies based on policy described above — which obviates the need for distinct build images
The only case where the build image version deprecation is relevant is for deprecating the existing pages v1 and v2 build images. Once that happens — both Pages and Workers have the same policy
accurate? if so there is a bit of dot connecting maybe to do here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i.e. — if the above is accurate, then is this actually just simple as saying
If you are on the Pages v1 build image, you will be moved automatcially to v3 on
If you are on the Pages v2 build image, you will be moved automatcially to v3 on
If you are on the Pages v3 build image — dependencies will be updated based on the policy described above
|
|
||
| To prepare for updates and avoid unexpected build failures: | ||
| - Monitor the [Cloudflare Changelog](https://developers.cloudflare.com/changelog/), the dashboard, and your email for announcements | ||
| - [Override default versions](/workers/ci-cd/builds/build-image/#overriding-default-versions) if you need to maintain specific versions for your applications |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Version of what? (especially because directly above you are talking about build image versions but also about versions of software packages that are provided as part of the build image
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i.e. Github says "preinstalled software"
which I immediately get what that means
ababb92 to
e141739
Compare
irvinebroque
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment re: date placeholders but otherwise 👍
|
|
||
| If you are currently using the v1 or v2 build image, your project will be automatically moved to v3: | ||
|
|
||
| - **v1 build image**: if you are on the Pages v1 build image, you will be moved automatcially to v3 on [date] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what date? :)
initial pass at adding build image policies for Workers Builds and Cloudflare Pages