Skip to content

Commit 39d918f

Browse files
authored
Merge pull request #888 from cloudfoundry/cflinuxfs5-release-prep
Add cflinuxfs5 stack support for next buildpack release
2 parents 13497f4 + 2ac9156 commit 39d918f

File tree

5 files changed

+42
-5
lines changed

5 files changed

+42
-5
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.8.45
1+
1.9.0

fixtures/util/override_buildpack/override.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ nodejs:
88
cf_stacks:
99
- cflinuxfs3
1010
- cflinuxfs4
11+
- cflinuxfs5

manifest.yml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ default_versions:
44
- name: node
55
version: 22.x
66
- name: python
7-
version: 3.11.x
7+
version: 3.13.x
88
include_files:
99
- CHANGELOG
1010
- CONTRIBUTING.md
@@ -48,6 +48,10 @@ dependency_deprecation_dates:
4848
name: python
4949
date: 2029-10-07
5050
link: https://peps.python.org/pep-0719/
51+
- version_line: 3.14.x
52+
name: python
53+
date: 2030-10-07
54+
link: https://peps.python.org/pep-0745/
5155
dependencies:
5256
- name: node
5357
version: 20.19.3
@@ -167,8 +171,24 @@ dependencies:
167171
sha256: d923c02aa27386583a1ecea31220a1aaadb7cc323be32dc8f71b1dd5ba81af62
168172
cf_stacks:
169173
- cflinuxfs5
170-
source: https://www.python.org/ftp/python/3.13.12/Python-3.13.12.tgz
171-
source_sha256: 12e7cb170ad2d1a69aee96a1cc7fc8de5b1e97a2bdac51683a3db016ec9a2996
174+
source: https://www.python.org/ftp/python/3.13.9/Python-3.13.9.tgz
175+
source_sha256: c4c066af19c98fb7835d473bebd7e23be84f6e9874d47db9e39a68ee5d0ce35c
176+
- name: python
177+
version: 3.14.3
178+
uri: https://buildpacks.cloudfoundry.org/dependencies/python/python_3.14.3_linux_x64_cflinuxfs4_a54b3e20.tgz
179+
sha256: a54b3e20698a979d70fdc15af5a426b6bcf861ba6f37055e1da535c6562a8122
180+
cf_stacks:
181+
- cflinuxfs4
182+
source: https://www.python.org/ftp/python/3.14.3/Python-3.14.3.tgz
183+
source_sha256: d7fe130d0501ae047ca318fa92aa642603ab6f217901015a1df6ce650d5470cd
184+
- name: python
185+
version: 3.14.3
186+
uri: https://buildpacks.cloudfoundry.org/dependencies/python/python_3.14.3_linux_x64_cflinuxfs5_62e6a7a7.tgz
187+
sha256: 62e6a7a7a369c77412c1db87799128cd87a27bbfd14969c01ff4719a7bd7049f
188+
cf_stacks:
189+
- cflinuxfs5
190+
source: https://www.python.org/ftp/python/3.14.3/Python-3.14.3.tgz
191+
source_sha256: d7fe130d0501ae047ca318fa92aa642603ab6f217901015a1df6ce650d5470cd
172192
- name: yarn
173193
version: 1.22.22
174194
uri: https://buildpacks.cloudfoundry.org/dependencies/yarn/yarn_1.22.22_linux_noarch_any-stack_b6132b86.tgz

src/nodejs/integration/init_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func init() {
4141
flag.BoolVar(&settings.Serial, "serial", false, "run serial buildpack tests")
4242
flag.StringVar(&settings.Platform, "platform", "cf", `switchblade platform to test against ("cf" or "docker")`)
4343
flag.StringVar(&settings.GitHubToken, "github-token", "", "use the token to make GitHub API requests")
44-
flag.StringVar(&settings.Stack, "stack", "cflinuxfs3", "stack to use when pushing apps")
44+
flag.StringVar(&settings.Stack, "stack", "cflinuxfs5", "stack to use when pushing apps")
4545
}
4646

4747
func TestIntegration(t *testing.T) {

src/nodejs/integration/npm_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"encoding/json"
55
"os"
66
"path/filepath"
7+
"strings"
78
"testing"
89

910
"github.com/cloudfoundry/switchblade"
@@ -72,9 +73,24 @@ func testNPM(platform switchblade.Platform, fixtures string) func(*testing.T, sp
7273
Expect(file.Close()).To(Succeed())
7374

7475
pkg["engines"] = map[string]string{"npm": "^8"}
76+
77+
// Remove cpu-features (native module) because npm 8's bundled
78+
// node-gyp v9.1.0 requires distutils, which was removed in Python 3.12+.
79+
// This test validates npm version selection, not native compilation.
80+
deps := pkg["dependencies"].(map[string]interface{})
81+
delete(deps, "cpu-features")
82+
pkg["dependencies"] = deps
83+
7584
content, err := json.Marshal(pkg)
7685
Expect(err).NotTo(HaveOccurred())
7786
Expect(os.WriteFile(filepath.Join(source, "package.json"), content, 0600)).To(Succeed())
87+
88+
// Also remove the require('cpu-features') from server.js so the
89+
// app doesn't crash at startup trying to load the missing module.
90+
serverJS, err := os.ReadFile(filepath.Join(source, "server.js"))
91+
Expect(err).NotTo(HaveOccurred())
92+
serverJS = []byte(strings.Replace(string(serverJS), "const features = require('cpu-features')();\n", "", 1))
93+
Expect(os.WriteFile(filepath.Join(source, "server.js"), serverJS, 0600)).To(Succeed())
7894
})
7995

8096
it.After(func() {

0 commit comments

Comments
 (0)