Skip to content

Commit fb8983a

Browse files
authored
Update default builder to heroku/builder:26 (#572)
Switches the default integration test builder and the README usage example from `heroku/builder:24` to `heroku/builder:26`. Also flips the CI integration test conditionals so all tests run against `:26` and only stack-specific tests run against older builders (doing this required updating the package manager tests to use a newer historic buildpack version so the initial build can run on the new builder). GUS-W-22580946.
1 parent 935a4fa commit fb8983a

6 files changed

Lines changed: 16 additions & 22 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,8 @@ jobs:
8686
# only those and not the unit tests, via the `--ignored` option. On the latest stack
8787
# we run all integration tests, but on older stacks we only run stack-specific tests.
8888
- name: Run integration tests (all tests)
89-
# TODO: Switch to builder:26 once Ubuntu 26.04 is GA and also Python and package manager
90-
# versions have changed, so that we have a suitable historic buildpack version that both
91-
# supports the new stack, and has enough version changes for the cache invalidation tests.
92-
if: matrix.builder == 'builder:24'
89+
if: matrix.builder == 'builder:26'
9390
run: cargo test --locked -- --ignored --test-threads $(($(nproc)+1))
9491
- name: Run integration tests (stack-specific tests only)
95-
if: matrix.builder != 'builder:24'
92+
if: matrix.builder != 'builder:26'
9693
run: cargo test --locked -- --ignored --test-threads $(($(nproc)+1)) 'python_version_test::'

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ To build a Python application codebase into a production image:
2121

2222
```bash
2323
$ cd ~/workdir/sample-python-app
24-
$ pack build sample-app --builder heroku/builder:24
24+
$ pack build sample-app --builder heroku/builder:26
2525
```
2626

2727
Then run the image:

tests/mod.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ use libcnb_test::BuildConfig;
1616
use std::env;
1717
use std::path::Path;
1818

19-
// TODO: Switch to builder:26 once Ubuntu 26.04 is GA and also Python and package manager
20-
// versions have changed, so that we have a suitable historic buildpack version that both
21-
// supports the new stack, and has enough version changes for the cache invalidation tests.
22-
const DEFAULT_BUILDER: &str = "heroku/builder:24";
19+
const DEFAULT_BUILDER: &str = "heroku/builder:26";
2320

2421
fn default_build_config(fixture_path: impl AsRef<Path>) -> BuildConfig {
2522
let builder = builder();

tests/pip_test.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ fn pip_cache_invalidation_package_manager_changed() {
164164
fn pip_cache_previous_buildpack_version() {
165165
let mut config = default_build_config("tests/fixtures/pip_basic");
166166
config.buildpacks([BuildpackReference::Other(
167-
"docker://docker.io/heroku/buildpack-python:0.16.0".to_string(),
167+
"docker://docker.io/heroku/buildpack-python:6.4.0".to_string(),
168168
)]);
169169
let rebuild_config = default_build_config("tests/fixtures/pip_basic");
170170

@@ -180,12 +180,12 @@ fn pip_cache_previous_buildpack_version() {
180180
a '.python-version' file, containing a Python version like '{DEFAULT_PYTHON_VERSION}'.
181181
182182
[Installing Python]
183-
Discarding cached Python 3.12.5 since:
184-
- The Python version has changed from 3.12.5 to {DEFAULT_PYTHON_FULL_VERSION}
183+
Discarding cached Python 3.14.4 since:
184+
- The Python version has changed from 3.14.4 to {DEFAULT_PYTHON_FULL_VERSION}
185185
Installing Python {DEFAULT_PYTHON_FULL_VERSION}
186186
187187
[Installing pip]
188-
Discarding cached pip 24.2
188+
Discarding cached pip 26.0.1
189189
Installing pip {PIP_VERSION}
190190
191191
[Installing dependencies using pip]

tests/poetry_test.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ fn poetry_cache_invalidation_package_manager_changed() {
153153
fn poetry_cache_previous_buildpack_version() {
154154
let mut config = default_build_config("tests/fixtures/poetry_basic");
155155
config.buildpacks([BuildpackReference::Other(
156-
"docker://docker.io/heroku/buildpack-python:2.7.0".to_string(),
156+
"docker://docker.io/heroku/buildpack-python:6.4.0".to_string(),
157157
)]);
158158
let rebuild_config = default_build_config("tests/fixtures/poetry_basic");
159159

@@ -167,12 +167,12 @@ fn poetry_cache_previous_buildpack_version() {
167167
Using Python version {DEFAULT_PYTHON_VERSION} specified in .python-version
168168
169169
[Installing Python]
170-
Discarding cached Python 3.14.0 since:
171-
- The Python version has changed from 3.14.0 to {DEFAULT_PYTHON_FULL_VERSION}
170+
Discarding cached Python 3.14.4 since:
171+
- The Python version has changed from 3.14.4 to {DEFAULT_PYTHON_FULL_VERSION}
172172
Installing Python {DEFAULT_PYTHON_FULL_VERSION}
173173
174174
[Installing Poetry]
175-
Discarding cached Poetry 2.2.1
175+
Discarding cached Poetry 2.3.3
176176
Installing Poetry {POETRY_VERSION}
177177
178178
[Installing dependencies using Poetry]

tests/uv_test.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ fn uv_cache_invalidation_package_manager_changed() {
165165
fn uv_cache_previous_buildpack_version() {
166166
let mut config = default_build_config("tests/fixtures/uv_basic");
167167
config.buildpacks([BuildpackReference::Other(
168-
"docker://docker.io/heroku/buildpack-python:2.7.0".to_string(),
168+
"docker://docker.io/heroku/buildpack-python:6.4.0".to_string(),
169169
)]);
170170
let rebuild_config = default_build_config("tests/fixtures/uv_basic");
171171

@@ -179,12 +179,12 @@ fn uv_cache_previous_buildpack_version() {
179179
Using Python version {DEFAULT_PYTHON_VERSION} specified in .python-version
180180
181181
\\[Installing Python\\]
182-
Discarding cached Python 3.14.0 since:
183-
- The Python version has changed from 3.14.0 to {DEFAULT_PYTHON_FULL_VERSION}
182+
Discarding cached Python 3.14.4 since:
183+
- The Python version has changed from 3.14.4 to {DEFAULT_PYTHON_FULL_VERSION}
184184
Installing Python {DEFAULT_PYTHON_FULL_VERSION}
185185
186186
\\[Installing uv\\]
187-
Discarding cached uv 0.8.23
187+
Discarding cached uv 0.11.3
188188
Installing uv {UV_VERSION}
189189
190190
\\[Installing dependencies using uv\\]

0 commit comments

Comments
 (0)