diff --git a/.github/workflows/dependency-deprecation-reminder.yml b/.github/workflows/dependency-deprecation-reminder.yml index ecfb7049b..61a9b3f22 100644 --- a/.github/workflows/dependency-deprecation-reminder.yml +++ b/.github/workflows/dependency-deprecation-reminder.yml @@ -13,7 +13,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: - ref: develop + ref: master - name: Get deprecations id: deprecations diff --git a/.github/workflows/release-reminder.yml b/.github/workflows/release-reminder.yml deleted file mode 100644 index 6db6b1ebc..000000000 --- a/.github/workflows/release-reminder.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: Release Reminder - -on: - schedule: - - cron: '0 0 * * 4' # Run at midnight on Thursdays - workflow_dispatch: {} - -jobs: - determine-date: - name: Release buildpacks on 2nd and last Thursdays of the month - runs-on: ubuntu-22.04 - outputs: - should_run: ${{ steps.should_run.outputs.bool }} - steps: - - name: Should run - id: should_run - run: | - set -eu - if [[ ${{ github.event_name }} == 'workflow_dispatch' ]]; then - echo "Skipping date check, because workflow was run manually" - echo "bool=true" >> "${GITHUB_OUTPUT}" - else - day_of_month=$(date +%d) - last_day_cutoff=$(expr $(date -d "-$(date +%d) days month" +%d) - 6) - # Check if it's the second or last Thursday of the month - # second thursday of the month will always be between day 8 and 14 (inclusive) - if [ "$day_of_month" -ge "8" ] && [ "$day_of_month" -le "14" ]; then - echo "It's the second Thursday of the month" - echo "bool=true" >> "${GITHUB_OUTPUT}" - # last thursday of the month will always be within 6 days of the last day of the month - # $last_day_cutoff=(# days in this month - 6) - elif [ "$day_of_month" -ge "$last_day_cutoff" ]; then - echo "It's the last Thursday of the month" - echo "bool=true" >> "${GITHUB_OUTPUT}" - else - echo "It's another Thursday of the month" - echo "bool=false" >> "${GITHUB_OUTPUT}" - fi - fi - reminder: - name: Reminder - runs-on: ubuntu-22.04 - needs: [ determine-date ] - if: ${{ needs.determine-date.outputs.should_run == 'true' }} - steps: - - name: Get Date - id: date - run: | - today=$(date +'%m-%d') - window_close_date=$(date -d "+5 days" +'%m-%d') - - echo "today=$today" >> "${GITHUB_OUTPUT}" - echo "window_close_date=$window_close_date" >> "${GITHUB_OUTPUT}" - - - name: Checkout - uses: actions/checkout@v3 - with: - token: ${{ secrets.CF_BOT_GITHUB_TOKEN }} - ref: develop - fetch-depth: 0 - - - name: Get Latest Version - id: latest-version - run: | - echo "val=$(git describe --abbrev=0 --tag)" >> "${GITHUB_OUTPUT}" - - - name: PHP specific task - id: php-specific - if: github.repository == 'cloudfoundry/php-buildpack' - run: | - echo 'task=* Bump PHP modules. See [doc](https://github.com/cloudfoundry/buildpacks-ci/tree/master/scripts/php-modules#pre-buildpack-release-task)' >> "${GITHUB_OUTPUT}" - echo 'title=Bump PHP Modules and ' >> "${GITHUB_OUTPUT}" - - - name: File Issue - id: file-issue - uses: paketo-buildpacks/github-config/actions/issue/file@main - with: - token: ${{ secrets.CF_BOT_GITHUB_TOKEN }} - repo: ${{ github.repository }} - issue_title: "${{ steps.php-specific.outputs.title }}Release: ${{ github.event.repository.name }} (${{ steps.date.outputs.today }})" - issue_body: | - Release reminder for ${{ github.event.repository.name }} - - The ideal release date window for this buildpack starts on: ${{ steps.date.outputs.today }} and ends on ${{ steps.date.outputs.window_close_date }}. - - ${{ steps.php-specific.outputs.task }} - * See [diff from latest version]("https://github.com/${{ github.repository }}/compare/${{ steps.latest-version.outputs.val }}..develop") and validate if a release is required. - * Make sure the latest commit on `develop` has passed tests on the [CI](https://buildpacks.ci.cf-app.com/teams/main/pipelines/${{ github.event.repository.name }}) - * Refer [release instructions](https://github.com/pivotal-cf/tanzu-buildpacks/wiki/Releasing-CF-Buildpacks). (private link) - - - name: Add issue to project - id: issue-to-proj - uses: paketo-buildpacks/github-config/actions/issue/add-to-project@main - with: - # CF buildpacks project - https://github.com/orgs/cloudfoundry/projects/37 - project-org: cloudfoundry - project-num: 37 - field-name: Workstream - option-name: Release Train - issue-node-id: ${{ steps.file-issue.outputs.node-id }} - token: ${{ secrets.CF_BOT_GITHUB_TOKEN }} diff --git a/.github/workflows/synchronize-labels.yml b/.github/workflows/synchronize-labels.yml index bb7f38eb7..5d09ae017 100644 --- a/.github/workflows/synchronize-labels.yml +++ b/.github/workflows/synchronize-labels.yml @@ -3,7 +3,7 @@ name: Synchronize Labels on: push: branches: - - develop + - master paths: - .github/labels.yml workflow_dispatch: {} diff --git a/.github/workflows/test-pull-request.yml b/.github/workflows/test-pull-request.yml index 5a07e6e43..cc08c20c6 100644 --- a/.github/workflows/test-pull-request.yml +++ b/.github/workflows/test-pull-request.yml @@ -3,7 +3,7 @@ name: Test Pull Request on: pull_request: branches: - - develop + - master jobs: unit: diff --git a/.github/workflows/update-github-config.yml b/.github/workflows/update-github-config.yml index f7b2505b1..3d0f9be2e 100644 --- a/.github/workflows/update-github-config.yml +++ b/.github/workflows/update-github-config.yml @@ -15,7 +15,7 @@ jobs: uses: actions/checkout@v4 with: token: ${{ secrets.CF_BOT_GITHUB_TOKEN }} - ref: develop + ref: master - name: Checkout github-config uses: actions/checkout@v4 @@ -61,4 +61,4 @@ jobs: token: ${{ secrets.CF_BOT_GITHUB_TOKEN }} title: "Updates github-config" branch: automation/github-config/update - base: develop + base: master diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d16e12787..e9c769aac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,4 +19,4 @@ See the [Cutlass](https://github.com/cloudfoundry/libbuildpack/tree/master/cutla Please include integration tests (in `src/nodejs/integration`) and corresponding fixtures (in `fixtures`) where necessary to cover any functionality that is introduced. -**NOTE:** When submitting a pull request, *please make sure to target the `develop` branch*, so that your changes are up-to-date and easy to integrate with the most recent work on the buildpack. Thanks! +**NOTE:** When submitting a pull request, *please make sure to target the `master` branch*, so that your changes are up-to-date and easy to integrate with the most recent work on the buildpack. Thanks! diff --git a/PULL_REQUEST_TEMPLATE b/PULL_REQUEST_TEMPLATE index 01dcb691b..73c4a5f84 100644 --- a/PULL_REQUEST_TEMPLATE +++ b/PULL_REQUEST_TEMPLATE @@ -6,6 +6,6 @@ Thanks for contributing to the buildpack. To speed up the process of reviewing y * [ ] I have viewed signed and have submitted the Contributor License Agreement -* [ ] I have made this pull request to the `develop` branch +* [ ] I have made this pull request to the `master` branch * [ ] I have added an integration test diff --git a/fixtures/util/override_buildpack/override.yml b/fixtures/util/override_buildpack/override.yml index d43139000..600e501dc 100644 --- a/fixtures/util/override_buildpack/override.yml +++ b/fixtures/util/override_buildpack/override.yml @@ -1,7 +1,7 @@ nodejs: dependencies: - name: node - version: 18.99.99 + version: 22.99.99 uri: https://buildpacks.cloudfoundry.org/dependencies/node/node.10.99.99-linux-x64.tgz file: BUILDPACK_DIR/node.tgz sha256: 062d906c87839d03b243e2821e10653c89b4c92878bfe2bf995dec231e117bfc diff --git a/manifest.yml b/manifest.yml index b21044bf1..0b76476f4 100644 --- a/manifest.yml +++ b/manifest.yml @@ -2,7 +2,7 @@ language: nodejs default_versions: - name: node - version: 18.x + version: 22.x - name: python version: 3.11.x include_files: @@ -41,22 +41,6 @@ dependency_deprecation_dates: date: 2027-10-24 link: https://www.python.org/dev/peps/pep-0664/ dependencies: -- name: node - version: 18.20.6 - uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_18.20.6_linux_x64_cflinuxfs3_8b2df7e1.tgz - sha256: 8b2df7e193fede209fd7afb02631342b0ba0757271c0f08788d1e85920024454 - cf_stacks: - - cflinuxfs3 - source: https://nodejs.org/dist/v18.20.6/node-v18.20.6.tar.gz - source_sha256: e7ddfeabea3d1f7cc622cc9861d2fb0955b9e60940dbbedbed6f2f821ab3e4c7 -- name: node - version: 18.20.6 - uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_18.20.6_linux_x64_cflinuxfs4_7ef6b71f.tgz - sha256: 7ef6b71f275e07216bfab70508f89b5088dbc7e6d2f32a8eb1e679c86a23dfba - cf_stacks: - - cflinuxfs4 - source: https://nodejs.org/dist/v18.20.6/node-v18.20.6.tar.gz - source_sha256: e7ddfeabea3d1f7cc622cc9861d2fb0955b9e60940dbbedbed6f2f821ab3e4c7 - name: node version: 18.20.7 uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_18.20.7_linux_x64_cflinuxfs3_3454218f.tgz @@ -74,21 +58,21 @@ dependencies: source: https://nodejs.org/dist/v18.20.7/node-v18.20.7.tar.gz source_sha256: f2f2f1ac616d8e253ed69cf0b44de7d4843c40d8a614f64c776ee59ff0047031 - name: node - version: 20.18.2 - uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_20.18.2_linux_x64_cflinuxfs3_46326719.tgz - sha256: 463267190a8015e340fe7fadd369fcc346bc9a085464eee5163d9c65fdf3fbeb + version: 18.20.8 + uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_18.20.8_linux_x64_cflinuxfs3_479753cf.tgz + sha256: 479753cf9501574204b554c3ef62ca433e1e8e7123196b5c2f2ce4937ac3d093 cf_stacks: - cflinuxfs3 - source: https://nodejs.org/dist/v20.18.2/node-v20.18.2.tar.gz - source_sha256: cf3ef49fafbfee3cdcd936a0d6031341b73bfa6b26a484ea0a4936c26d24b829 + source: https://nodejs.org/dist/v18.20.8/node-v18.20.8.tar.gz + source_sha256: ec60a6d2344ef9e1f093991ca1bb6bbe92c61c29d1762c4b99e08f87dbb91e2f - name: node - version: 20.18.2 - uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_20.18.2_linux_x64_cflinuxfs4_0d89b3e1.tgz - sha256: 0d89b3e1a9b9b5fbdba6b4ee2a0bc2d1f693bb0e53c11ec7a9e172e2b5d8ba9a + version: 18.20.8 + uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_18.20.8_linux_x64_cflinuxfs4_1df38c7c.tgz + sha256: 1df38c7c038374772e447677957e6da91e1f5b73d98d0e4458d71b2e23a3301e cf_stacks: - cflinuxfs4 - source: https://nodejs.org/dist/v20.18.2/node-v20.18.2.tar.gz - source_sha256: cf3ef49fafbfee3cdcd936a0d6031341b73bfa6b26a484ea0a4936c26d24b829 + source: https://nodejs.org/dist/v18.20.8/node-v18.20.8.tar.gz + source_sha256: ec60a6d2344ef9e1f093991ca1bb6bbe92c61c29d1762c4b99e08f87dbb91e2f - name: node version: 20.19.0 uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_20.19.0_linux_x64_cflinuxfs3_39fbfc20.tgz @@ -106,13 +90,21 @@ dependencies: source: https://nodejs.org/dist/v20.19.0/node-v20.19.0.tar.gz source_sha256: 658572c4a0f546b0c07ea64d53b396a19c425ff183924872cb34712a17e15332 - name: node - version: 22.13.1 - uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_22.13.1_linux_x64_cflinuxfs4_3e0956ff.tgz - sha256: 3e0956ff78ec3c1e63804e5343f9b664a69853e832451338940126ad665d9752 + version: 20.19.2 + uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_20.19.2_linux_x64_cflinuxfs3_7db96118.tgz + sha256: 7db9611811fb158e4cb367cf4ff400143a6773b322f8c42012e8926716ffbe15 + cf_stacks: + - cflinuxfs3 + source: https://nodejs.org/dist/v20.19.2/node-v20.19.2.tar.gz + source_sha256: eaf8800608ffbcae7665beb4776d8e9d8484055fbb840ef44e346044f9b08ad5 +- name: node + version: 20.19.2 + uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_20.19.2_linux_x64_cflinuxfs4_aeac220e.tgz + sha256: aeac220e7209e4ac1d85df6061c6806e42df5b337bd5bc7fa2f9f44617db867c cf_stacks: - cflinuxfs4 - source: https://nodejs.org/dist/v22.13.1/node-v22.13.1.tar.gz - source_sha256: e7d5b1e84e7f3c3cebda81e2b138469eef41ba4ecf16a87fd15fc3f7afa3f701 + source: https://nodejs.org/dist/v20.19.2/node-v20.19.2.tar.gz + source_sha256: eaf8800608ffbcae7665beb4776d8e9d8484055fbb840ef44e346044f9b08ad5 - name: node version: 22.14.0 uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_22.14.0_linux_x64_cflinuxfs4_3ae11340.tgz @@ -121,22 +113,30 @@ dependencies: - cflinuxfs4 source: https://nodejs.org/dist/v22.14.0/node-v22.14.0.tar.gz source_sha256: 6c4e31ed5702dc45cfd8c435af56a36a474427e1bd7afe74c346136060beba8a +- name: node + version: 22.16.0 + uri: https://buildpacks.cloudfoundry.org/dependencies/node/node_22.16.0_linux_x64_cflinuxfs4_13829c62.tgz + sha256: 13829c621bb988c2b186e70ccf77c9e03804d0b6a4fcb7bb19f3009c87a5e797 + cf_stacks: + - cflinuxfs4 + source: https://nodejs.org/dist/v22.16.0/node-v22.16.0.tar.gz + source_sha256: 108f250ff79cc103b464b3ef41fa60f4866e4e6c962117171adaac7325ebdab2 - name: python - version: 3.11.11 - uri: https://buildpacks.cloudfoundry.org/dependencies/python/python_3.11.11_linux_x64_cflinuxfs3_2d5aa26d.tgz - sha256: 2d5aa26d1ac896182023398c187543f90aea9105f1b6f342709911ad6fa39083 + version: 3.11.12 + uri: https://buildpacks.cloudfoundry.org/dependencies/python/python_3.11.12_linux_x64_cflinuxfs3_c9e6b498.tgz + sha256: c9e6b49875870e85dc4f811bfbab4fcc9382ca8f1fed6615c6e52752fdca963a cf_stacks: - cflinuxfs3 - source: https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz - source_sha256: 883bddee3c92fcb91cf9c09c5343196953cbb9ced826213545849693970868ed + source: https://www.python.org/ftp/python/3.11.12/Python-3.11.12.tgz + source_sha256: 379c9929a989a9d65a1f5d854e011f4872b142259f4fc0a8c4062d2815ed7fba - name: python - version: 3.11.11 - uri: https://buildpacks.cloudfoundry.org/dependencies/python/python_3.11.11_linux_x64_cflinuxfs4_13c4c2b4.tgz - sha256: 13c4c2b436a474bdb667314968e0296e09a01151e1db220ba40f58aefc0bda97 + version: 3.11.12 + uri: https://buildpacks.cloudfoundry.org/dependencies/python/python_3.11.12_linux_x64_cflinuxfs4_51adfd88.tgz + sha256: 51adfd88ef729551c7ebc364f81787c8c805983dc33e3692250c53349fa38b5b cf_stacks: - cflinuxfs4 - source: https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz - source_sha256: 883bddee3c92fcb91cf9c09c5343196953cbb9ced826213545849693970868ed + source: https://www.python.org/ftp/python/3.11.12/Python-3.11.12.tgz + source_sha256: 379c9929a989a9d65a1f5d854e011f4872b142259f4fc0a8c4062d2815ed7fba - name: yarn version: 1.22.22 uri: https://buildpacks.cloudfoundry.org/dependencies/yarn/yarn_1.22.22_linux_noarch_any-stack_83bda680.tgz diff --git a/src/nodejs/integration/default_test.go b/src/nodejs/integration/default_test.go index 970f9370e..15e3d26ee 100644 --- a/src/nodejs/integration/default_test.go +++ b/src/nodejs/integration/default_test.go @@ -38,7 +38,7 @@ func testDefault(platform switchblade.Platform, fixtures string) func(*testing.T Execute(name, filepath.Join(fixtures, "simple")) Expect(err).NotTo(HaveOccurred()) - Expect(logs).To(ContainLines(MatchRegexp("Installing node 18\\.\\d+\\.\\d+"))) + Expect(logs).To(ContainLines(MatchRegexp("Installing node 22\\.\\d+\\.\\d+"))) Eventually(deployment).Should(Serve("Hello world!")) @@ -57,7 +57,7 @@ func testDefault(platform switchblade.Platform, fixtures string) func(*testing.T } Expect(json.NewDecoder(response.Body).Decode(&process)).To(Succeed()) - Expect(process.Version).To(MatchRegexp(`v18\.\d+\.\d+`)) + Expect(process.Version).To(MatchRegexp(`v22\.\d+\.\d+`)) Expect(process.Env.NodeOptions).To(BeEmpty()) Expect(process.Env.NodeHome).To(Equal("/home/vcap/deps/0/node")) Expect(process.Env.NodeEnv).To(Equal("production"))