├── .github ├── CODEOWNERS ├── dependabot.yml ├── labels.yml ├── pipeline-descriptor.yml ├── pipeline-version ├── release-drafter.yml └── workflows │ ├── pb-create-package.yml │ ├── pb-minimal-labels.yml │ ├── pb-synchronize-labels.yml │ ├── pb-tests.yml │ ├── pb-update-apache-tomcat.yml │ ├── pb-update-apache-tomee.yml │ ├── pb-update-azure-application-insights.yml │ ├── pb-update-bellsoft-liberica.yml │ ├── pb-update-ca-certificates.yml │ ├── pb-update-clojure-tools.yml │ ├── pb-update-datadog.yml │ ├── pb-update-dist-zip.yml │ ├── pb-update-draft-release.yml │ ├── pb-update-encrypt-at-rest.yml │ ├── pb-update-environment-variables.yml │ ├── pb-update-executable-jar.yml │ ├── pb-update-go.yml │ ├── pb-update-google-stackdriver.yml │ ├── pb-update-gradle.yml │ ├── pb-update-image-labels.yml │ ├── pb-update-jattach.yml │ ├── pb-update-java-memory-assistant.yml │ ├── pb-update-leiningen.yml │ ├── pb-update-liberty.yml │ ├── pb-update-maven.yml │ ├── pb-update-node-engine.yml │ ├── pb-update-pipeline.yml │ ├── pb-update-procfile.yml │ ├── pb-update-sbt.yml │ ├── pb-update-spring-boot.yml │ ├── pb-update-syft.yml │ ├── pb-update-watchexec.yml │ └── pb-update-yarn.yml ├── .gitignore ├── LICENSE ├── Makefile ├── NOTICE ├── README.md ├── buildpack.toml ├── go.mod ├── go.sum ├── integration ├── init_test.go ├── jar_test.go ├── spring_boot_test.go ├── tomcat_test.go └── tomee_test.go └── package.toml /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @paketo-buildpacks/java-maintainers -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: gomod 4 | directory: / 5 | schedule: 6 | interval: daily 7 | ignore: 8 | - dependency-name: github.com/onsi/gomega 9 | labels: 10 | - semver:patch 11 | - type:dependency-upgrade 12 | -------------------------------------------------------------------------------- /.github/labels.yml: -------------------------------------------------------------------------------- 1 | - name: semver:major 2 | description: A change requiring a major version bump 3 | color: f9d0c4 4 | - name: semver:minor 5 | description: A change requiring a minor version bump 6 | color: f9d0c4 7 | - name: semver:patch 8 | description: A change requiring a patch version bump 9 | color: f9d0c4 10 | - name: type:bug 11 | description: A general bug 12 | color: e3d9fc 13 | - name: type:dependency-upgrade 14 | description: A dependency upgrade 15 | color: e3d9fc 16 | - name: type:documentation 17 | description: A documentation update 18 | color: e3d9fc 19 | - name: type:enhancement 20 | description: A general enhancement 21 | color: e3d9fc 22 | - name: type:question 23 | description: A user question 24 | color: e3d9fc 25 | - name: type:task 26 | description: A general task 27 | color: e3d9fc 28 | - name: type:informational 29 | description: Provides information or notice to the community 30 | color: e3d9fc 31 | - name: type:poll 32 | description: Request for feedback from the community 33 | color: e3d9fc 34 | - name: note:ideal-for-contribution 35 | description: An issue that a contributor can help us with 36 | color: 54f7a8 37 | - name: note:on-hold 38 | description: We can't start working on this issue yet 39 | color: 54f7a8 40 | - name: note:good-first-issue 41 | description: A good first issue to get started with 42 | color: 54f7a8 43 | -------------------------------------------------------------------------------- /.github/pipeline-descriptor.yml: -------------------------------------------------------------------------------- 1 | github: 2 | username: ${{ secrets.JAVA_GITHUB_USERNAME }} 3 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 4 | mappers: 5 | - '|paketobuildpacks|paketo-buildpacks|' 6 | 7 | codeowners: 8 | - path: "*" 9 | owner: "@paketo-buildpacks/java-maintainers" 10 | 11 | package: 12 | repositories: ["docker.io/paketobuildpacks/java"] 13 | register: true 14 | registry_token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 15 | 16 | docker_credentials: 17 | - registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 20 | -------------------------------------------------------------------------------- /.github/pipeline-version: -------------------------------------------------------------------------------- 1 | 1.42.0 2 | -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | template: $CHANGES 2 | name-template: $RESOLVED_VERSION 3 | tag-template: v$RESOLVED_VERSION 4 | categories: 5 | - title: ⭐️ Enhancements 6 | labels: 7 | - type:enhancement 8 | - title: "\U0001F41E Bug Fixes" 9 | labels: 10 | - type:bug 11 | - title: "\U0001F4D4 Documentation" 12 | labels: 13 | - type:documentation 14 | - title: ⛏ Dependency Upgrades 15 | labels: 16 | - type:dependency-upgrade 17 | - title: "\U0001F6A7 Tasks" 18 | labels: 19 | - type:task 20 | exclude-labels: 21 | - type:question 22 | version-resolver: 23 | major: 24 | labels: 25 | - semver:major 26 | minor: 27 | labels: 28 | - semver:minor 29 | patch: 30 | labels: 31 | - semver:patch 32 | default: patch 33 | -------------------------------------------------------------------------------- /.github/workflows/pb-create-package.yml: -------------------------------------------------------------------------------- 1 | name: Create Package 2 | "on": 3 | release: 4 | types: 5 | - published 6 | jobs: 7 | create-package: 8 | name: Create Package 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install create-package 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/create-package@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: buildpacks/github-actions/setup-pack@v5.8.9 34 | with: 35 | pack-version: 0.36.4 36 | - name: Enable pack Experimental 37 | if: ${{ false }} 38 | run: | 39 | #!/usr/bin/env bash 40 | 41 | set -euo pipefail 42 | 43 | echo "Enabling pack experimental features" 44 | 45 | mkdir -p "${HOME}"/.pack 46 | echo "experimental = true" >> "${HOME}"/.pack/config.toml 47 | - uses: actions/checkout@v4 48 | - if: ${{ false }} 49 | uses: actions/cache@v4 50 | with: 51 | key: ${{ runner.os }}-go-${{ hashFiles('**/buildpack.toml', '**/package.toml') }} 52 | path: |- 53 | ${{ env.HOME }}/.pack 54 | ${{ env.HOME }}/carton-cache 55 | restore-keys: ${{ runner.os }}-go- 56 | - name: Compute Version 57 | id: version 58 | run: | 59 | #!/usr/bin/env bash 60 | 61 | set -euo pipefail 62 | 63 | if [[ ${GITHUB_REF:-} != "refs/"* ]]; then 64 | echo "GITHUB_REF set to [${GITHUB_REF:-}], but that is unexpected. It should start with 'refs/*'" 65 | exit 255 66 | fi 67 | 68 | if [[ ${GITHUB_REF} =~ refs/tags/v([0-9]+\.[0-9]+\.[0-9]+) ]]; then 69 | VERSION=${BASH_REMATCH[1]} 70 | 71 | MAJOR_VERSION="$(echo "${VERSION}" | awk -F '.' '{print $1 }')" 72 | MINOR_VERSION="$(echo "${VERSION}" | awk -F '.' '{print $1 "." $2 }')" 73 | 74 | echo "version-major=${MAJOR_VERSION}" >> "$GITHUB_OUTPUT" 75 | echo "version-minor=${MINOR_VERSION}" >> "$GITHUB_OUTPUT" 76 | elif [[ ${GITHUB_REF} =~ refs/heads/(.+) ]]; then 77 | VERSION=${BASH_REMATCH[1]} 78 | else 79 | VERSION=$(git rev-parse --short HEAD) 80 | fi 81 | 82 | echo "version=${VERSION}" >> "$GITHUB_OUTPUT" 83 | echo "Selected ${VERSION} from 84 | * ref: ${GITHUB_REF} 85 | * sha: ${GITHUB_SHA} 86 | " 87 | - name: Create Package 88 | run: | 89 | #!/usr/bin/env bash 90 | 91 | set -euo pipefail 92 | 93 | # With Go 1.20, we need to set this so that we produce statically compiled binaries 94 | # 95 | # Starting with Go 1.20, Go will produce binaries that are dynamically linked against libc 96 | # which can cause compatibility issues. The compiler links against libc on the build system 97 | # but that may be newer than on the stacks we support. 98 | export CGO_ENABLED=0 99 | 100 | if [[ "${INCLUDE_DEPENDENCIES}" == "true" ]]; then 101 | create-package \ 102 | --source "${SOURCE_PATH:-.}" \ 103 | --cache-location "${HOME}"/carton-cache \ 104 | --destination "${HOME}"/buildpack \ 105 | --include-dependencies \ 106 | --version "${VERSION}" 107 | else 108 | create-package \ 109 | --source "${SOURCE_PATH:-.}" \ 110 | --destination "${HOME}"/buildpack \ 111 | --version "${VERSION}" 112 | fi 113 | 114 | PACKAGE_FILE="${SOURCE_PATH:-.}/package.toml" 115 | if [ -f "${PACKAGE_FILE}" ]; then 116 | cp "${PACKAGE_FILE}" "${HOME}/buildpack/package.toml" 117 | printf '[buildpack]\nuri = "%s"\n\n[platform]\nos = "%s"\n' "${HOME}/buildpack" "${OS}" >> "${HOME}/buildpack/package.toml" 118 | fi 119 | env: 120 | INCLUDE_DEPENDENCIES: "false" 121 | OS: linux 122 | SOURCE_PATH: "" 123 | VERSION: ${{ steps.version.outputs.version }} 124 | - name: Package Buildpack 125 | id: package 126 | run: |- 127 | #!/usr/bin/env bash 128 | 129 | set -euo pipefail 130 | 131 | COMPILED_BUILDPACK="${HOME}/buildpack" 132 | 133 | # create-package puts the buildpack here, we need to run from that directory 134 | # for component buildpacks so that pack doesn't need a package.toml 135 | cd "${COMPILED_BUILDPACK}" 136 | CONFIG="" 137 | if [ -f "${COMPILED_BUILDPACK}/package.toml" ]; then 138 | CONFIG="--config ${COMPILED_BUILDPACK}/package.toml" 139 | fi 140 | 141 | PACKAGE_LIST=($PACKAGES) 142 | # Extract first repo (Docker Hub) as the main to package & register 143 | PACKAGE=${PACKAGE_LIST[0]} 144 | 145 | if [[ "${PUBLISH:-x}" == "true" ]]; then 146 | pack -v buildpack package \ 147 | "${PACKAGE}:${VERSION}" ${CONFIG} \ 148 | --publish 149 | 150 | if [[ -n ${VERSION_MINOR:-} && -n ${VERSION_MAJOR:-} ]]; then 151 | crane tag "${PACKAGE}:${VERSION}" "${VERSION_MINOR}" 152 | crane tag "${PACKAGE}:${VERSION}" "${VERSION_MAJOR}" 153 | fi 154 | crane tag "${PACKAGE}:${VERSION}" latest 155 | echo "digest=$(crane digest "${PACKAGE}:${VERSION}")" >> "$GITHUB_OUTPUT" 156 | 157 | # copy to other repositories specified 158 | for P in "${PACKAGE_LIST[@]}" 159 | do 160 | if [ "$P" != "$PACKAGE" ]; then 161 | crane copy "${PACKAGE}:${VERSION}" "${P}:${VERSION}" 162 | if [[ -n ${VERSION_MINOR:-} && -n ${VERSION_MAJOR:-} ]]; then 163 | crane tag "${P}:${VERSION}" "${VERSION_MINOR}" 164 | crane tag "${P}:${VERSION}" "${VERSION_MAJOR}" 165 | fi 166 | crane tag "${P}:${VERSION}" latest 167 | fi 168 | done 169 | 170 | else 171 | pack -v buildpack package \ 172 | "${PACKAGE}:${VERSION}" ${CONFIG} \ 173 | --format "${FORMAT}" $([ -n "$TTL_SH_PUBLISH" ] && [ "$TTL_SH_PUBLISH" = "true" ] && echo "--publish") 174 | fi 175 | env: 176 | PACKAGES: docker.io/paketobuildpacks/java 177 | PUBLISH: "true" 178 | VERSION: ${{ steps.version.outputs.version }} 179 | VERSION_MAJOR: ${{ steps.version.outputs.version-major }} 180 | VERSION_MINOR: ${{ steps.version.outputs.version-minor }} 181 | - name: Update release with digest 182 | run: | 183 | #!/usr/bin/env bash 184 | 185 | set -euo pipefail 186 | 187 | PAYLOAD=$(cat "${GITHUB_EVENT_PATH}") 188 | 189 | RELEASE_ID=$(jq -n -r --argjson PAYLOAD "${PAYLOAD}" '$PAYLOAD.release.id') 190 | RELEASE_TAG_NAME=$(jq -n -r --argjson PAYLOAD "${PAYLOAD}" '$PAYLOAD.release.tag_name') 191 | RELEASE_NAME=$(jq -n -r --argjson PAYLOAD "${PAYLOAD}" '$PAYLOAD.release.name') 192 | RELEASE_BODY=$(jq -n -r --argjson PAYLOAD "${PAYLOAD}" '$PAYLOAD.release.body') 193 | 194 | gh api \ 195 | --method PATCH \ 196 | "/repos/:owner/:repo/releases/${RELEASE_ID}" \ 197 | --field "tag_name=${RELEASE_TAG_NAME}" \ 198 | --field "name=${RELEASE_NAME}" \ 199 | --field "body=${RELEASE_BODY///\`${DIGEST}\`}" 200 | env: 201 | DIGEST: ${{ steps.package.outputs.digest }} 202 | GITHUB_TOKEN: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 203 | - if: ${{ true }} 204 | uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:5.8.9 205 | with: 206 | address: docker.io/paketobuildpacks/java@${{ steps.package.outputs.digest }} 207 | id: paketo-buildpacks/java 208 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 209 | version: ${{ steps.version.outputs.version }} 210 | -------------------------------------------------------------------------------- /.github/workflows/pb-minimal-labels.yml: -------------------------------------------------------------------------------- 1 | name: Minimal Labels 2 | "on": 3 | pull_request: 4 | types: 5 | - synchronize 6 | - reopened 7 | - labeled 8 | - unlabeled 9 | jobs: 10 | semver: 11 | name: Minimal Semver Labels 12 | runs-on: 13 | - ubuntu-latest 14 | steps: 15 | - uses: mheap/github-action-required-labels@v5 16 | with: 17 | count: 1 18 | labels: semver:major, semver:minor, semver:patch 19 | mode: exactly 20 | type: 21 | name: Minimal Type Labels 22 | runs-on: 23 | - ubuntu-latest 24 | steps: 25 | - uses: mheap/github-action-required-labels@v5 26 | with: 27 | count: 1 28 | labels: type:bug, type:dependency-upgrade, type:documentation, type:enhancement, type:question, type:task 29 | mode: exactly 30 | -------------------------------------------------------------------------------- /.github/workflows/pb-synchronize-labels.yml: -------------------------------------------------------------------------------- 1 | name: Synchronize Labels 2 | "on": 3 | push: 4 | branches: 5 | - main 6 | paths: 7 | - .github/labels.yml 8 | jobs: 9 | synchronize: 10 | name: Synchronize Labels 11 | runs-on: 12 | - ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | - uses: micnncim/action-label-syncer@v1 16 | env: 17 | GITHUB_TOKEN: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 18 | -------------------------------------------------------------------------------- /.github/workflows/pb-tests.yml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | "on": 3 | merge_group: 4 | types: 5 | - checks_requested 6 | branches: 7 | - main 8 | pull_request: {} 9 | push: 10 | branches: 11 | - main 12 | jobs: 13 | create-package: 14 | name: Create Package Test 15 | runs-on: 16 | - ubuntu-latest 17 | steps: 18 | - uses: actions/setup-go@v5 19 | with: 20 | go-version: "1.24" 21 | - name: Install create-package 22 | run: | 23 | #!/usr/bin/env bash 24 | 25 | set -euo pipefail 26 | 27 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/create-package@latest 28 | - uses: buildpacks/github-actions/setup-pack@v5.8.9 29 | with: 30 | pack-version: 0.36.4 31 | - name: Enable pack Experimental 32 | if: ${{ false }} 33 | run: | 34 | #!/usr/bin/env bash 35 | 36 | set -euo pipefail 37 | 38 | echo "Enabling pack experimental features" 39 | 40 | mkdir -p "${HOME}"/.pack 41 | echo "experimental = true" >> "${HOME}"/.pack/config.toml 42 | - uses: actions/checkout@v4 43 | - uses: actions/cache@v4 44 | with: 45 | key: ${{ runner.os }}-go-${{ hashFiles('**/buildpack.toml', '**/package.toml') }} 46 | path: |- 47 | ${{ env.HOME }}/.pack 48 | ${{ env.HOME }}/carton-cache 49 | restore-keys: ${{ runner.os }}-go- 50 | - name: Compute Version 51 | id: version 52 | run: | 53 | #!/usr/bin/env bash 54 | 55 | set -euo pipefail 56 | 57 | if [[ ${GITHUB_REF:-} != "refs/"* ]]; then 58 | echo "GITHUB_REF set to [${GITHUB_REF:-}], but that is unexpected. It should start with 'refs/*'" 59 | exit 255 60 | fi 61 | 62 | if [[ ${GITHUB_REF} =~ refs/tags/v([0-9]+\.[0-9]+\.[0-9]+) ]]; then 63 | VERSION=${BASH_REMATCH[1]} 64 | 65 | MAJOR_VERSION="$(echo "${VERSION}" | awk -F '.' '{print $1 }')" 66 | MINOR_VERSION="$(echo "${VERSION}" | awk -F '.' '{print $1 "." $2 }')" 67 | 68 | echo "version-major=${MAJOR_VERSION}" >> "$GITHUB_OUTPUT" 69 | echo "version-minor=${MINOR_VERSION}" >> "$GITHUB_OUTPUT" 70 | elif [[ ${GITHUB_REF} =~ refs/heads/(.+) ]]; then 71 | VERSION=${BASH_REMATCH[1]} 72 | else 73 | VERSION=$(git rev-parse --short HEAD) 74 | fi 75 | 76 | echo "version=${VERSION}" >> "$GITHUB_OUTPUT" 77 | echo "Selected ${VERSION} from 78 | * ref: ${GITHUB_REF} 79 | * sha: ${GITHUB_SHA} 80 | " 81 | - name: Create Package 82 | run: | 83 | #!/usr/bin/env bash 84 | 85 | set -euo pipefail 86 | 87 | # With Go 1.20, we need to set this so that we produce statically compiled binaries 88 | # 89 | # Starting with Go 1.20, Go will produce binaries that are dynamically linked against libc 90 | # which can cause compatibility issues. The compiler links against libc on the build system 91 | # but that may be newer than on the stacks we support. 92 | export CGO_ENABLED=0 93 | 94 | if [[ "${INCLUDE_DEPENDENCIES}" == "true" ]]; then 95 | create-package \ 96 | --source "${SOURCE_PATH:-.}" \ 97 | --cache-location "${HOME}"/carton-cache \ 98 | --destination "${HOME}"/buildpack \ 99 | --include-dependencies \ 100 | --version "${VERSION}" 101 | else 102 | create-package \ 103 | --source "${SOURCE_PATH:-.}" \ 104 | --destination "${HOME}"/buildpack \ 105 | --version "${VERSION}" 106 | fi 107 | 108 | PACKAGE_FILE="${SOURCE_PATH:-.}/package.toml" 109 | if [ -f "${PACKAGE_FILE}" ]; then 110 | cp "${PACKAGE_FILE}" "${HOME}/buildpack/package.toml" 111 | printf '[buildpack]\nuri = "%s"\n\n[platform]\nos = "%s"\n' "${HOME}/buildpack" "${OS}" >> "${HOME}/buildpack/package.toml" 112 | fi 113 | env: 114 | INCLUDE_DEPENDENCIES: "true" 115 | OS: linux 116 | VERSION: ${{ steps.version.outputs.version }} 117 | - name: Package Buildpack 118 | run: |- 119 | #!/usr/bin/env bash 120 | 121 | set -euo pipefail 122 | 123 | COMPILED_BUILDPACK="${HOME}/buildpack" 124 | 125 | # create-package puts the buildpack here, we need to run from that directory 126 | # for component buildpacks so that pack doesn't need a package.toml 127 | cd "${COMPILED_BUILDPACK}" 128 | CONFIG="" 129 | if [ -f "${COMPILED_BUILDPACK}/package.toml" ]; then 130 | CONFIG="--config ${COMPILED_BUILDPACK}/package.toml" 131 | fi 132 | 133 | PACKAGE_LIST=($PACKAGES) 134 | # Extract first repo (Docker Hub) as the main to package & register 135 | PACKAGE=${PACKAGE_LIST[0]} 136 | 137 | if [[ "${PUBLISH:-x}" == "true" ]]; then 138 | pack -v buildpack package \ 139 | "${PACKAGE}:${VERSION}" ${CONFIG} \ 140 | --publish 141 | 142 | if [[ -n ${VERSION_MINOR:-} && -n ${VERSION_MAJOR:-} ]]; then 143 | crane tag "${PACKAGE}:${VERSION}" "${VERSION_MINOR}" 144 | crane tag "${PACKAGE}:${VERSION}" "${VERSION_MAJOR}" 145 | fi 146 | crane tag "${PACKAGE}:${VERSION}" latest 147 | echo "digest=$(crane digest "${PACKAGE}:${VERSION}")" >> "$GITHUB_OUTPUT" 148 | 149 | # copy to other repositories specified 150 | for P in "${PACKAGE_LIST[@]}" 151 | do 152 | if [ "$P" != "$PACKAGE" ]; then 153 | crane copy "${PACKAGE}:${VERSION}" "${P}:${VERSION}" 154 | if [[ -n ${VERSION_MINOR:-} && -n ${VERSION_MAJOR:-} ]]; then 155 | crane tag "${P}:${VERSION}" "${VERSION_MINOR}" 156 | crane tag "${P}:${VERSION}" "${VERSION_MAJOR}" 157 | fi 158 | crane tag "${P}:${VERSION}" latest 159 | fi 160 | done 161 | 162 | else 163 | pack -v buildpack package \ 164 | "${PACKAGE}:${VERSION}" ${CONFIG} \ 165 | --format "${FORMAT}" $([ -n "$TTL_SH_PUBLISH" ] && [ "$TTL_SH_PUBLISH" = "true" ] && echo "--publish") 166 | fi 167 | env: 168 | FORMAT: image 169 | PACKAGES: ttl.sh/test-${{ steps.version.outputs.version }} 170 | TTL_SH_PUBLISH: "true" 171 | VERSION: 1h 172 | - name: Set up JDK 173 | uses: actions/setup-java@v4 174 | with: 175 | distribution: liberica 176 | java-version: "17" 177 | - name: Run Integration Tests 178 | run: | 179 | #!/usr/bin/env bash 180 | 181 | set -euo pipefail 182 | 183 | BP_UNDER_TEST=ttl.sh/${PACKAGE}-${VERSION}:1h make integration 184 | env: 185 | PACKAGE: test 186 | VERSION: ${{ steps.version.outputs.version }} 187 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-apache-tomcat.yml: -------------------------------------------------------------------------------- 1 | name: Update apache-tomcat 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/apache-tomcat 85 | DEPENDENCY: docker.io/paketobuildpacks/apache-tomcat 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/apache-tomcat`](https://docker.io/paketobuildpacks/apache-tomcat) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/apache-tomcat:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/apache-tomcat:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/apache-tomcat 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/apache-tomcat from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/apache-tomcat from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/apache-tomcat from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-apache-tomee.yml: -------------------------------------------------------------------------------- 1 | name: Update apache-tomee 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/apache-tomee 85 | DEPENDENCY: docker.io/paketobuildpacks/apache-tomee 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/apache-tomee`](https://docker.io/paketobuildpacks/apache-tomee) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/apache-tomee:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/apache-tomee:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/apache-tomee 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/apache-tomee from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/apache-tomee from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/apache-tomee from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-azure-application-insights.yml: -------------------------------------------------------------------------------- 1 | name: Update azure-application-insights 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/azure-application-insights 85 | DEPENDENCY: docker.io/paketobuildpacks/azure-application-insights 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/azure-application-insights`](https://docker.io/paketobuildpacks/azure-application-insights) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/azure-application-insights:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/azure-application-insights:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/azure-application-insights 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/azure-application-insights from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/azure-application-insights from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/azure-application-insights from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-bellsoft-liberica.yml: -------------------------------------------------------------------------------- 1 | name: Update bellsoft-liberica 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/bellsoft-liberica 85 | DEPENDENCY: docker.io/paketobuildpacks/bellsoft-liberica 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/bellsoft-liberica`](https://docker.io/paketobuildpacks/bellsoft-liberica) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/bellsoft-liberica:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/bellsoft-liberica:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/bellsoft-liberica 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/bellsoft-liberica from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/bellsoft-liberica from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/bellsoft-liberica from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-ca-certificates.yml: -------------------------------------------------------------------------------- 1 | name: Update ca-certificates 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/ca-certificates 85 | DEPENDENCY: docker.io/paketobuildpacks/ca-certificates 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/ca-certificates`](https://docker.io/paketobuildpacks/ca-certificates) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/ca-certificates:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/ca-certificates:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/ca-certificates 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/ca-certificates from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/ca-certificates from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/ca-certificates from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-clojure-tools.yml: -------------------------------------------------------------------------------- 1 | name: Update clojure-tools 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/clojure-tools 85 | DEPENDENCY: docker.io/paketobuildpacks/clojure-tools 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/clojure-tools`](https://docker.io/paketobuildpacks/clojure-tools) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/clojure-tools:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/clojure-tools:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/clojure-tools 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/clojure-tools from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/clojure-tools from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/clojure-tools from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-datadog.yml: -------------------------------------------------------------------------------- 1 | name: Update datadog 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/datadog 85 | DEPENDENCY: docker.io/paketobuildpacks/datadog 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/datadog`](https://docker.io/paketobuildpacks/datadog) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/datadog:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/datadog:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/datadog 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/datadog from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/datadog from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/datadog from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-dist-zip.yml: -------------------------------------------------------------------------------- 1 | name: Update dist-zip 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/dist-zip 85 | DEPENDENCY: docker.io/paketobuildpacks/dist-zip 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/dist-zip`](https://docker.io/paketobuildpacks/dist-zip) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/dist-zip:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/dist-zip:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/dist-zip 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/dist-zip from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/dist-zip from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/dist-zip from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-draft-release.yml: -------------------------------------------------------------------------------- 1 | name: Update Draft Release 2 | "on": 3 | push: 4 | branches: 5 | - main 6 | jobs: 7 | update: 8 | name: Update Draft Release 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - id: release-drafter 13 | uses: release-drafter/release-drafter@v5 14 | env: 15 | GITHUB_TOKEN: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 16 | - name: Docker login docker.io 17 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 18 | uses: docker/login-action@v3 19 | with: 20 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 21 | registry: docker.io 22 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 23 | - uses: actions/checkout@v4 24 | - name: Update draft release with buildpack information 25 | uses: docker://ghcr.io/paketo-buildpacks/actions/draft-release:main 26 | with: 27 | github_token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 28 | mapper_1: '|paketobuildpacks|paketo-buildpacks|' 29 | release_body: ${{ steps.release-drafter.outputs.body }} 30 | release_id: ${{ steps.release-drafter.outputs.id }} 31 | release_name: ${{ steps.release-drafter.outputs.name }} 32 | release_tag_name: ${{ steps.release-drafter.outputs.tag_name }} 33 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-encrypt-at-rest.yml: -------------------------------------------------------------------------------- 1 | name: Update encrypt-at-rest 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/encrypt-at-rest 85 | DEPENDENCY: docker.io/paketobuildpacks/encrypt-at-rest 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/encrypt-at-rest`](https://docker.io/paketobuildpacks/encrypt-at-rest) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/encrypt-at-rest:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/encrypt-at-rest:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/encrypt-at-rest 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/encrypt-at-rest from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/encrypt-at-rest from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/encrypt-at-rest from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-environment-variables.yml: -------------------------------------------------------------------------------- 1 | name: Update environment-variables 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/environment-variables 85 | DEPENDENCY: docker.io/paketobuildpacks/environment-variables 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/environment-variables`](https://docker.io/paketobuildpacks/environment-variables) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/environment-variables:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/environment-variables:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/environment-variables 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/environment-variables from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/environment-variables from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/environment-variables from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-executable-jar.yml: -------------------------------------------------------------------------------- 1 | name: Update executable-jar 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/executable-jar 85 | DEPENDENCY: docker.io/paketobuildpacks/executable-jar 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/executable-jar`](https://docker.io/paketobuildpacks/executable-jar) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/executable-jar:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/executable-jar:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/executable-jar 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/executable-jar from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/executable-jar from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/executable-jar from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-go.yml: -------------------------------------------------------------------------------- 1 | name: Update Go 2 | "on": 3 | schedule: 4 | - cron: 42 2 * * 1 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Go 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - uses: actions/setup-go@v5 13 | with: 14 | go-version: "1.24" 15 | - uses: actions/checkout@v4 16 | - name: Update Go Version & Modules 17 | id: update-go 18 | run: | 19 | #!/usr/bin/env bash 20 | 21 | set -euo pipefail 22 | 23 | if [ -z "${GO_VERSION:-}" ]; then 24 | echo "No go version set" 25 | exit 1 26 | fi 27 | 28 | OLD_GO_VERSION=$(grep -P '^go \d\.\d+' go.mod | cut -d ' ' -f 2 | cut -d '.' -f 1-2) 29 | 30 | go mod edit -go="$GO_VERSION" 31 | go mod tidy 32 | go get -u -t ./... 33 | go mod tidy 34 | 35 | git add go.mod go.sum 36 | git checkout -- . 37 | 38 | if [ "$OLD_GO_VERSION" == "$GO_VERSION" ]; then 39 | COMMIT_TITLE="Bump Go Modules" 40 | COMMIT_BODY="Bumps Go modules used by the project. See the commit for details on what modules were updated." 41 | COMMIT_SEMVER="semver:patch" 42 | else 43 | COMMIT_TITLE="Bump Go from ${OLD_GO_VERSION} to ${GO_VERSION}" 44 | COMMIT_BODY="Bumps Go from ${OLD_GO_VERSION} to ${GO_VERSION} and update Go modules used by the project. See the commit for details on what modules were updated." 45 | COMMIT_SEMVER="semver:minor" 46 | fi 47 | 48 | echo "commit-title=${COMMIT_TITLE}" >> "$GITHUB_OUTPUT" 49 | echo "commit-body=${COMMIT_BODY}" >> "$GITHUB_OUTPUT" 50 | echo "commit-semver=${COMMIT_SEMVER}" >> "$GITHUB_OUTPUT" 51 | env: 52 | GO_VERSION: "1.24" 53 | - uses: peter-evans/create-pull-request@v6 54 | with: 55 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 56 | body: |- 57 | ${{ steps.update-go.outputs.commit-body }} 58 | 59 |
60 | Release Notes 61 | ${{ steps.pipeline.outputs.release-notes }} 62 |
63 | branch: update/go 64 | commit-message: |- 65 | ${{ steps.update-go.outputs.commit-title }} 66 | 67 | ${{ steps.update-go.outputs.commit-body }} 68 | delete-branch: true 69 | labels: ${{ steps.update-go.outputs.commit-semver }}, type:task 70 | signoff: true 71 | title: ${{ steps.update-go.outputs.commit-title }} 72 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 73 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-google-stackdriver.yml: -------------------------------------------------------------------------------- 1 | name: Update google-stackdriver 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/google-stackdriver 85 | DEPENDENCY: docker.io/paketobuildpacks/google-stackdriver 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/google-stackdriver`](https://docker.io/paketobuildpacks/google-stackdriver) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/google-stackdriver:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/google-stackdriver:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/google-stackdriver 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/google-stackdriver from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/google-stackdriver from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/google-stackdriver from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-gradle.yml: -------------------------------------------------------------------------------- 1 | name: Update gradle 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/gradle 85 | DEPENDENCY: docker.io/paketobuildpacks/gradle 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/gradle`](https://docker.io/paketobuildpacks/gradle) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/gradle:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/gradle:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/gradle 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/gradle from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/gradle from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/gradle from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-image-labels.yml: -------------------------------------------------------------------------------- 1 | name: Update image-labels 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/image-labels 85 | DEPENDENCY: docker.io/paketobuildpacks/image-labels 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/image-labels`](https://docker.io/paketobuildpacks/image-labels) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/image-labels:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/image-labels:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/image-labels 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/image-labels from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/image-labels from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/image-labels from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-jattach.yml: -------------------------------------------------------------------------------- 1 | name: Update jattach 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/jattach 85 | DEPENDENCY: docker.io/paketobuildpacks/jattach 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/jattach`](https://docker.io/paketobuildpacks/jattach) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/jattach:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/jattach:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/jattach 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/jattach from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/jattach from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/jattach from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-java-memory-assistant.yml: -------------------------------------------------------------------------------- 1 | name: Update java-memory-assistant 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/java-memory-assistant 85 | DEPENDENCY: docker.io/paketobuildpacks/java-memory-assistant 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/java-memory-assistant`](https://docker.io/paketobuildpacks/java-memory-assistant) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/java-memory-assistant:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/java-memory-assistant:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/java-memory-assistant 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/java-memory-assistant from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/java-memory-assistant from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/java-memory-assistant from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-leiningen.yml: -------------------------------------------------------------------------------- 1 | name: Update leiningen 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/leiningen 85 | DEPENDENCY: docker.io/paketobuildpacks/leiningen 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/leiningen`](https://docker.io/paketobuildpacks/leiningen) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/leiningen:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/leiningen:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/leiningen 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/leiningen from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/leiningen from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/leiningen from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-liberty.yml: -------------------------------------------------------------------------------- 1 | name: Update liberty 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/liberty 85 | DEPENDENCY: docker.io/paketobuildpacks/liberty 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/liberty`](https://docker.io/paketobuildpacks/liberty) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/liberty:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/liberty:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/liberty 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/liberty from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/liberty from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/liberty from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-maven.yml: -------------------------------------------------------------------------------- 1 | name: Update maven 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/maven 85 | DEPENDENCY: docker.io/paketobuildpacks/maven 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/maven`](https://docker.io/paketobuildpacks/maven) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/maven:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/maven:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/maven 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/maven from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/maven from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/maven from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-node-engine.yml: -------------------------------------------------------------------------------- 1 | name: Update node-engine 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/node-engine 85 | DEPENDENCY: docker.io/paketobuildpacks/node-engine 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/node-engine`](https://docker.io/paketobuildpacks/node-engine) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/node-engine:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/node-engine:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/node-engine 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/node-engine from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/node-engine from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/node-engine from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-pipeline.yml: -------------------------------------------------------------------------------- 1 | name: Update Pipeline 2 | "on": 3 | push: 4 | branches: 5 | - main 6 | paths: 7 | - .github/pipeline-descriptor.yml 8 | schedule: 9 | - cron: 0 5 * * 1-5 10 | workflow_dispatch: {} 11 | jobs: 12 | update: 13 | name: Update Pipeline 14 | runs-on: 15 | - ubuntu-latest 16 | steps: 17 | - uses: actions/setup-go@v5 18 | with: 19 | go-version: "1.24" 20 | - name: Install octo 21 | run: | 22 | #!/usr/bin/env bash 23 | 24 | set -euo pipefail 25 | 26 | go install -ldflags="-s -w" github.com/paketo-buildpacks/pipeline-builder/cmd/octo@latest 27 | - uses: actions/checkout@v4 28 | - name: Update Pipeline 29 | id: pipeline 30 | run: | 31 | #!/usr/bin/env bash 32 | 33 | set -euo pipefail 34 | 35 | if [[ -f .github/pipeline-version ]]; then 36 | OLD_VERSION=$(cat .github/pipeline-version) 37 | else 38 | OLD_VERSION="0.0.0" 39 | fi 40 | 41 | rm .github/workflows/pb-*.yml || true 42 | octo --descriptor "${DESCRIPTOR}" 43 | 44 | PAYLOAD=$(gh api /repos/paketo-buildpacks/pipeline-builder/releases/latest) 45 | 46 | NEW_VERSION=$(jq -n -r --argjson PAYLOAD "${PAYLOAD}" '$PAYLOAD.name') 47 | echo "${NEW_VERSION}" > .github/pipeline-version 48 | 49 | RELEASE_NOTES=$( 50 | gh api \ 51 | -F text="$(jq -n -r --argjson PAYLOAD "${PAYLOAD}" '$PAYLOAD.body')" \ 52 | -F mode="gfm" \ 53 | -F context="paketo-buildpacks/pipeline-builder" \ 54 | -X POST /markdown 55 | ) 56 | 57 | git add .github/ 58 | git add .gitignore 59 | 60 | if [ -f scripts/build.sh ]; then 61 | git add scripts/build.sh 62 | fi 63 | 64 | git checkout -- . 65 | 66 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 67 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 68 | 69 | DELIMITER=$(openssl rand -hex 16) # roughly the same entropy as uuid v4 used in https://github.com/actions/toolkit/blob/b36e70495fbee083eb20f600eafa9091d832577d/packages/core/src/file-command.ts#L28 70 | printf "release-notes<<%s\n%s\n%s\n" "${DELIMITER}" "${RELEASE_NOTES}" "${DELIMITER}" >> "${GITHUB_OUTPUT}" # see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings 71 | env: 72 | DESCRIPTOR: .github/pipeline-descriptor.yml 73 | GITHUB_TOKEN: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 74 | - uses: peter-evans/create-pull-request@v6 75 | with: 76 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 77 | body: |- 78 | Bumps pipeline from `${{ steps.pipeline.outputs.old-version }}` to `${{ steps.pipeline.outputs.new-version }}`. 79 | 80 |
81 | Release Notes 82 | ${{ steps.pipeline.outputs.release-notes }} 83 |
84 | branch: update/pipeline 85 | commit-message: |- 86 | Bump pipeline from ${{ steps.pipeline.outputs.old-version }} to ${{ steps.pipeline.outputs.new-version }} 87 | 88 | Bumps pipeline from ${{ steps.pipeline.outputs.old-version }} to ${{ steps.pipeline.outputs.new-version }}. 89 | delete-branch: true 90 | labels: semver:patch, type:task 91 | signoff: true 92 | title: Bump pipeline from ${{ steps.pipeline.outputs.old-version }} to ${{ steps.pipeline.outputs.new-version }} 93 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 94 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-procfile.yml: -------------------------------------------------------------------------------- 1 | name: Update procfile 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/procfile 85 | DEPENDENCY: docker.io/paketobuildpacks/procfile 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/procfile`](https://docker.io/paketobuildpacks/procfile) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/procfile:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/procfile:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/procfile 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/procfile from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/procfile from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/procfile from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-sbt.yml: -------------------------------------------------------------------------------- 1 | name: Update sbt 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/sbt 85 | DEPENDENCY: docker.io/paketobuildpacks/sbt 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/sbt`](https://docker.io/paketobuildpacks/sbt) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/sbt:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/sbt:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/sbt 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/sbt from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/sbt from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/sbt from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-spring-boot.yml: -------------------------------------------------------------------------------- 1 | name: Update spring-boot 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/spring-boot 85 | DEPENDENCY: docker.io/paketobuildpacks/spring-boot 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/spring-boot`](https://docker.io/paketobuildpacks/spring-boot) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/spring-boot:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/spring-boot:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/spring-boot 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/spring-boot from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/spring-boot from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/spring-boot from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-syft.yml: -------------------------------------------------------------------------------- 1 | name: Update syft 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/syft 85 | DEPENDENCY: docker.io/paketobuildpacks/syft 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/syft`](https://docker.io/paketobuildpacks/syft) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/syft:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/syft:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/syft 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/syft from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/syft from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/syft from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-watchexec.yml: -------------------------------------------------------------------------------- 1 | name: Update watchexec 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/watchexec 85 | DEPENDENCY: docker.io/paketobuildpacks/watchexec 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/watchexec`](https://docker.io/paketobuildpacks/watchexec) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/watchexec:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/watchexec:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/watchexec 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/watchexec from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/watchexec from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/watchexec from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.github/workflows/pb-update-yarn.yml: -------------------------------------------------------------------------------- 1 | name: Update yarn 2 | "on": 3 | schedule: 4 | - cron: 0 4 * * 4-5 5 | workflow_dispatch: {} 6 | jobs: 7 | update: 8 | name: Update Package Dependency 9 | runs-on: 10 | - ubuntu-latest 11 | steps: 12 | - name: Docker login docker.io 13 | if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} 14 | uses: docker/login-action@v3 15 | with: 16 | password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} 17 | registry: docker.io 18 | username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} 19 | - uses: actions/setup-go@v5 20 | with: 21 | go-version: "1.24" 22 | - name: Install update-package-dependency 23 | run: | 24 | #!/usr/bin/env bash 25 | 26 | set -euo pipefail 27 | 28 | go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest 29 | - uses: buildpacks/github-actions/setup-tools@v5.8.9 30 | with: 31 | crane-version: 0.20.3 32 | yj-version: 5.1.0 33 | - uses: actions/checkout@v4 34 | - name: Update Package Dependency 35 | id: package 36 | run: | 37 | #!/usr/bin/env bash 38 | 39 | set -euo pipefail 40 | 41 | NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) 42 | 43 | if [[ -e builder.toml ]]; then 44 | OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 45 | 46 | update-package-dependency \ 47 | --builder-toml builder.toml \ 48 | --id "${DEPENDENCY}" \ 49 | --version "${NEW_VERSION}" 50 | 51 | git add builder.toml 52 | fi 53 | 54 | if [[ -e package.toml ]]; then 55 | OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") 56 | 57 | update-package-dependency \ 58 | --buildpack-toml buildpack.toml \ 59 | --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ 60 | --version "${NEW_VERSION}" 61 | 62 | update-package-dependency \ 63 | --package-toml package.toml \ 64 | --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ 65 | --version "${NEW_VERSION}" 66 | 67 | git add buildpack.toml package.toml 68 | fi 69 | 70 | git checkout -- . 71 | 72 | if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then 73 | LABEL="semver:major" 74 | elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then 75 | LABEL="semver:minor" 76 | else 77 | LABEL="semver:patch" 78 | fi 79 | 80 | echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" 81 | echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" 82 | echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" 83 | env: 84 | BP_DEPENDENCY: docker.io/paketo-buildpacks/yarn 85 | DEPENDENCY: docker.io/paketobuildpacks/yarn 86 | - uses: peter-evans/create-pull-request@v6 87 | with: 88 | author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> 89 | body: Bumps [`docker.io/paketobuildpacks/yarn`](https://docker.io/paketobuildpacks/yarn) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/yarn:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/yarn:${{ steps.package.outputs.new-version }}). 90 | branch: update/package/yarn 91 | commit-message: |- 92 | Bump docker.io/paketobuildpacks/yarn from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 93 | 94 | Bumps docker.io/paketobuildpacks/yarn from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. 95 | delete-branch: true 96 | labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade 97 | signoff: true 98 | title: Bump docker.io/paketobuildpacks/yarn from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} 99 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} 100 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Copyright 2018-2020 the original author or authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # https://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | bin/ 16 | linux/ 17 | dependencies/ 18 | package/ 19 | scratch/ 20 | 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | https://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | https://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | VERSION?=$(shell git describe --tags --abbrev=0 | cut -c2- ) 2 | export BP_UNDER_TEST ?= "paketobuildpacks/java:$(VERSION)" 3 | 4 | clean: 5 | rm -fr target 6 | rm -f *.cnb 7 | mvn clean -f integration/pom.xml 8 | 9 | create-package: 10 | create-package --include-dependencies --destination ./target --version "${VERSION}" 11 | cp package.toml ./target/package.toml 12 | echo "[buildpack]" >> ./target/package.toml 13 | echo "uri = \"./\"" >> ./target/package.toml 14 | echo "" >> ./target/package.toml 15 | echo "[platform]" >> ./target/package.toml 16 | echo "os = \"linux\"" >> ./target/package.toml 17 | 18 | package: create-package 19 | pack buildpack package ${BP_UNDER_TEST} --format=image --config ./target/package.toml 20 | 21 | integration: samples 22 | go test -v -count=1 -timeout=20m ./integration 23 | 24 | samples: 25 | test -d integration/samples && git -C integration/samples pull || git clone https://github.com/paketo-buildpacks/samples integration/samples 26 | 27 | .PHONY: integration pre-integration package create-package clean samples 28 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | java 2 | 3 | Copyright (c) 2020-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. 4 | 5 | This project is licensed to you under the Apache License, Version 2.0 (the "License"). 6 | You may not use this project except in compliance with the License. 7 | 8 | This project may include a number of subcomponents with separate copyright notices 9 | and license terms. Your use of these subcomponents is subject to the terms and 10 | conditions of the subcomponent's license, as noted in the LICENSE file. 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Paketo Buildpack for Java 2 | 3 | ## Buildpack ID: `paketo-buildpacks/java` 4 | ## Registry URLs: `docker.io/paketobuildpacks/java` 5 | 6 | The Paketo Buildpack for Java is a Cloud Native Buildpack with an order definition suitable for Java applications. 7 | 8 | ## Included Buildpacks 9 | 10 | * [`paketo-buildpacks/apache-tomcat`](https://github.com/paketo-buildpacks/apache-tomcat) 11 | * [`paketo-buildpacks/apache-tomee`](https://github.com/paketo-buildpacks/apache-tomee) 12 | * [`paketo-buildpacks/azure-application-insights`](https://github.com/paketo-buildpacks/azure-application-insights) 13 | * [`paketo-buildpacks/bellsoft-liberica`](https://github.com/paketo-buildpacks/bellsoft-liberica) 14 | * [`paketo-buildpacks/ca-certificates`](https://github.com/paketo-buildpacks/ca-certificates) 15 | * [`paketo-buildpacks/clojure-tools`](https://github.com/paketo-buildpacks/clojure-tools) 16 | * [`paketo-buildpacks/yarn`](https://github.com/paketo-buildpacks/yarn) 17 | * [`paketo-buildpacks/node-engine`](https://github.com/paketo-buildpacks/node-engine) 18 | * [`paketo-buildpacks/datadog`](https://github.com/paketo-buildpacks/datadog) 19 | * [`paketo-buildpacks/dist-zip`](https://github.com/paketo-buildpacks/dist-zip) 20 | * [`paketo-buildpacks/encrypt-at-rest`](https://github.com/paketo-buildpacks/encrypt-at-rest) 21 | * [`paketo-buildpacks/environment-variables`](https://github.com/paketo-buildpacks/environment-variables) 22 | * [`paketo-buildpacks/executable-jar`](https://github.com/paketo-buildpacks/executable-jar) 23 | * [`paketo-buildpacks/google-stackdriver`](https://github.com/paketo-buildpacks/google-stackdriver) 24 | * [`paketo-buildpacks/gradle`](https://github.com/paketo-buildpacks/gradle) 25 | * [`paketo-buildpacks/image-labels`](https://github.com/paketo-buildpacks/image-labels) 26 | * [`paketo-buildpacks/jattach`](https://github.com/paketo-buildpacks/jattach) 27 | * [`paketo-buildpacks/java-memory-assistant`](https://github.com/paketo-buildpacks/java-memory-assistant) 28 | * [`paketo-buildpacks/leiningen`](https://github.com/paketo-buildpacks/leiningen) 29 | * [`paketo-buildpacks/liberty`](https://github.com/paketo-buildpacks/liberty) 30 | * [`paketo-buildpacks/maven`](https://github.com/paketo-buildpacks/maven) 31 | * [`paketo-buildpacks/procfile`](https://github.com/paketo-buildpacks/procfile) 32 | * [`paketo-buildpacks/sbt`](https://github.com/paketo-buildpacks/sbt) 33 | * [`paketo-buildpacks/spring-boot`](https://github.com/paketo-buildpacks/spring-boot) 34 | * [`paketo-buildpacks/syft`](https://github.com/paketo-buildpacks/syft) 35 | * [`paketo-buildpacks/watchexec`](https://github.com/paketo-buildpacks/watchexec) 36 | 37 | ## License 38 | 39 | This buildpack is released under version 2.0 of the [Apache License][a]. 40 | 41 | [a]: http://www.apache.org/licenses/LICENSE-2.0 42 | -------------------------------------------------------------------------------- /buildpack.toml: -------------------------------------------------------------------------------- 1 | # Copyright 2018-2022 the original author or authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # https://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | api = "0.7" 16 | 17 | [buildpack] 18 | description = "A Cloud Native Buildpack with an order definition suitable for Java applications" 19 | homepage = "https://github.com/paketo-buildpacks/java" 20 | id = "paketo-buildpacks/java" 21 | keywords = ["java", "composite"] 22 | name = "Paketo Buildpack for Java" 23 | version = "{{.version}}" 24 | 25 | [[buildpack.licenses]] 26 | type = "Apache-2.0" 27 | uri = "https://github.com/paketo-buildpacks/java/blob/main/LICENSE" 28 | 29 | [metadata] 30 | include-files = ["LICENSE", "NOTICE", "README.md", "buildpack.toml"] 31 | 32 | [[order]] 33 | 34 | [[order.group]] 35 | id = "paketo-buildpacks/ca-certificates" 36 | optional = true 37 | version = "3.10.1" 38 | 39 | [[order.group]] 40 | id = "paketo-buildpacks/bellsoft-liberica" 41 | version = "11.2.2" 42 | 43 | [[order.group]] 44 | id = "paketo-buildpacks/yarn" 45 | optional = true 46 | version = "1.4.3" 47 | 48 | [[order.group]] 49 | id = "paketo-buildpacks/node-engine" 50 | optional = true 51 | version = "5.6.0" 52 | 53 | [[order.group]] 54 | id = "paketo-buildpacks/syft" 55 | optional = true 56 | version = "2.15.0" 57 | 58 | [[order.group]] 59 | id = "paketo-buildpacks/leiningen" 60 | optional = true 61 | version = "4.12.0" 62 | 63 | [[order.group]] 64 | id = "paketo-buildpacks/clojure-tools" 65 | optional = true 66 | version = "2.15.0" 67 | 68 | [[order.group]] 69 | id = "paketo-buildpacks/gradle" 70 | optional = true 71 | version = "7.19.1" 72 | 73 | [[order.group]] 74 | id = "paketo-buildpacks/maven" 75 | optional = true 76 | version = "6.20.0" 77 | 78 | [[order.group]] 79 | id = "paketo-buildpacks/sbt" 80 | optional = true 81 | version = "6.18.1" 82 | 83 | [[order.group]] 84 | id = "paketo-buildpacks/watchexec" 85 | optional = true 86 | version = "3.5.2" 87 | 88 | [[order.group]] 89 | id = "paketo-buildpacks/executable-jar" 90 | optional = true 91 | version = "6.13.0" 92 | 93 | [[order.group]] 94 | id = "paketo-buildpacks/apache-tomcat" 95 | optional = true 96 | version = "8.5.4" 97 | 98 | [[order.group]] 99 | id = "paketo-buildpacks/apache-tomee" 100 | optional = true 101 | version = "1.12.0" 102 | 103 | [[order.group]] 104 | id = "paketo-buildpacks/liberty" 105 | optional = true 106 | version = "5.1.3" 107 | 108 | [[order.group]] 109 | id = "paketo-buildpacks/dist-zip" 110 | optional = true 111 | version = "5.10.0" 112 | 113 | [[order.group]] 114 | id = "paketo-buildpacks/spring-boot" 115 | optional = true 116 | version = "5.33.0" 117 | 118 | [[order.group]] 119 | id = "paketo-buildpacks/procfile" 120 | optional = true 121 | version = "5.11.0" 122 | 123 | [[order.group]] 124 | id = "paketo-buildpacks/jattach" 125 | optional = true 126 | version = "1.10.0" 127 | 128 | [[order.group]] 129 | id = "paketo-buildpacks/azure-application-insights" 130 | optional = true 131 | version = "5.25.1" 132 | 133 | [[order.group]] 134 | id = "paketo-buildpacks/google-stackdriver" 135 | optional = true 136 | version = "9.4.0" 137 | 138 | [[order.group]] 139 | id = "paketo-buildpacks/datadog" 140 | optional = true 141 | version = "5.33.0" 142 | 143 | [[order.group]] 144 | id = "paketo-buildpacks/java-memory-assistant" 145 | optional = true 146 | version = "1.8.0" 147 | 148 | [[order.group]] 149 | id = "paketo-buildpacks/encrypt-at-rest" 150 | optional = true 151 | version = "4.9.1" 152 | 153 | [[order.group]] 154 | id = "paketo-buildpacks/environment-variables" 155 | optional = true 156 | version = "4.9.0" 157 | 158 | [[order.group]] 159 | id = "paketo-buildpacks/image-labels" 160 | optional = true 161 | version = "4.9.0" 162 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/paketo-buildpacks/java 2 | 3 | go 1.24.1 4 | 5 | toolchain go1.24.2 6 | 7 | require ( 8 | github.com/onsi/gomega v1.37.0 9 | github.com/paketo-buildpacks/occam v0.25.0 10 | github.com/sclevine/spec v1.4.0 11 | github.com/testcontainers/testcontainers-go v0.31.0 12 | ) 13 | 14 | require ( 15 | dario.cat/mergo v1.0.0 // indirect 16 | github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect 17 | github.com/ForestEckhardt/freezer v0.1.1 // indirect 18 | github.com/Microsoft/go-winio v0.6.2 // indirect 19 | github.com/Microsoft/hcsshim v0.11.7 // indirect 20 | github.com/cenkalti/backoff/v4 v4.2.1 // indirect 21 | github.com/containerd/containerd v1.7.27 // indirect 22 | github.com/containerd/log v0.1.0 // indirect 23 | github.com/containerd/platforms v0.2.1 // indirect 24 | github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect 25 | github.com/cpuguy83/dockercfg v0.3.1 // indirect 26 | github.com/distribution/reference v0.6.0 // indirect 27 | github.com/docker/docker v26.1.5+incompatible // indirect 28 | github.com/docker/go-connections v0.5.0 // indirect 29 | github.com/docker/go-units v0.5.0 // indirect 30 | github.com/felixge/httpsnoop v1.0.4 // indirect 31 | github.com/gabriel-vasile/mimetype v1.4.6 // indirect 32 | github.com/go-logr/logr v1.4.2 // indirect 33 | github.com/go-logr/stdr v1.2.2 // indirect 34 | github.com/go-ole/go-ole v1.2.6 // indirect 35 | github.com/gogo/protobuf v1.3.2 // indirect 36 | github.com/google/go-cmp v0.7.0 // indirect 37 | github.com/google/go-containerregistry v0.20.2 // indirect 38 | github.com/google/uuid v1.6.0 // indirect 39 | github.com/klauspost/compress v1.16.7 // indirect 40 | github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect 41 | github.com/magiconair/properties v1.8.7 // indirect 42 | github.com/moby/docker-image-spec v1.3.1 // indirect 43 | github.com/moby/patternmatcher v0.6.0 // indirect 44 | github.com/moby/sys/sequential v0.5.0 // indirect 45 | github.com/moby/sys/user v0.3.0 // indirect 46 | github.com/moby/sys/userns v0.1.0 // indirect 47 | github.com/moby/term v0.5.0 // indirect 48 | github.com/morikuni/aec v1.0.0 // indirect 49 | github.com/oklog/ulid v1.3.1 // indirect 50 | github.com/opencontainers/go-digest v1.0.0 // indirect 51 | github.com/opencontainers/image-spec v1.1.0 // indirect 52 | github.com/paketo-buildpacks/packit/v2 v2.16.0 // indirect 53 | github.com/pkg/errors v0.9.1 // indirect 54 | github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect 55 | github.com/shirou/gopsutil/v3 v3.23.12 // indirect 56 | github.com/shoenig/go-m1cpu v0.1.6 // indirect 57 | github.com/sirupsen/logrus v1.9.3 // indirect 58 | github.com/tklauser/go-sysconf v0.3.12 // indirect 59 | github.com/tklauser/numcpus v0.6.1 // indirect 60 | github.com/ulikunitz/xz v0.5.12 // indirect 61 | github.com/vbatts/tar-split v0.11.3 // indirect 62 | github.com/yusufpapurcu/wmi v1.2.3 // indirect 63 | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect 64 | go.opentelemetry.io/otel v1.24.0 // indirect 65 | go.opentelemetry.io/otel/metric v1.24.0 // indirect 66 | go.opentelemetry.io/otel/trace v1.24.0 // indirect 67 | golang.org/x/crypto v0.36.0 // indirect 68 | golang.org/x/net v0.37.0 // indirect 69 | golang.org/x/sync v0.12.0 // indirect 70 | golang.org/x/sys v0.31.0 // indirect 71 | golang.org/x/text v0.23.0 // indirect 72 | gopkg.in/yaml.v3 v3.0.1 // indirect 73 | ) 74 | -------------------------------------------------------------------------------- /integration/init_test.go: -------------------------------------------------------------------------------- 1 | package integration_test 2 | 3 | import ( 4 | "fmt" 5 | "net/http" 6 | "net/url" 7 | "os" 8 | "os/exec" 9 | "path/filepath" 10 | "testing" 11 | "time" 12 | 13 | . "github.com/onsi/gomega" 14 | "github.com/onsi/gomega/format" 15 | "github.com/paketo-buildpacks/occam" 16 | "github.com/sclevine/spec" 17 | "github.com/sclevine/spec/report" 18 | ) 19 | 20 | var ( 21 | buildPack = os.Getenv("BP_UNDER_TEST") 22 | builder = "paketobuildpacks/builder-jammy-buildpackless-base" 23 | testContainers = occam.NewTestContainers() 24 | err error 25 | ) 26 | 27 | func TestIntegration(t *testing.T) { 28 | Expect := NewWithT(t).Expect 29 | if buildPack == "" { 30 | t.Error("BP_UNDER_TEST is missing") 31 | } 32 | 33 | format.MaxLength = 0 34 | SetDefaultEventuallyTimeout(10 * time.Second) 35 | 36 | suite := spec.New("java", spec.Parallel(), spec.Report(report.Terminal{})) 37 | suite("SpringBoot", testSpringBoot) 38 | suite("ExecutableJar", testExecutableJar) 39 | suite("Tomcat", testTomcat) 40 | suite("TomEE", testTomee) 41 | 42 | cmd := exec.Command("./gradlew", "clean", "build", "-x", "test") 43 | cmd.Dir, err = filepath.Abs("./samples/java/war/") 44 | Expect(err).To(Succeed()) 45 | out, err := cmd.CombinedOutput() 46 | Expect(err).NotTo(HaveOccurred(), "failed to precompile war package, output:\n%s", out) 47 | 48 | cmd = exec.Command("./mvnw", "-DskipTests=true", "clean", "package") 49 | cmd.Dir, err = filepath.Abs("./samples/java/war-spring/") 50 | Expect(err).To(Succeed()) 51 | out, err = cmd.CombinedOutput() 52 | Expect(err).NotTo(HaveOccurred(), "failed to precompile war-spring package, output:\n%s", out) 53 | 54 | suite.Run(t) 55 | } 56 | 57 | func makeRequest(path, port string) (*http.Response, error) { 58 | fullURL, err := url.Parse(fmt.Sprintf("http://localhost:%s", port)) 59 | if err != nil { 60 | return nil, err 61 | } 62 | fullURL.Path = path 63 | 64 | resp, err := http.Get(fullURL.String()) 65 | if err != nil { 66 | return nil, err 67 | } 68 | 69 | return resp, nil 70 | } 71 | -------------------------------------------------------------------------------- /integration/jar_test.go: -------------------------------------------------------------------------------- 1 | package integration_test 2 | 3 | import ( 4 | "fmt" 5 | "testing" 6 | 7 | ctx "context" 8 | 9 | . "github.com/onsi/gomega" 10 | "github.com/paketo-buildpacks/occam" 11 | "github.com/sclevine/spec" 12 | "github.com/testcontainers/testcontainers-go" 13 | "github.com/testcontainers/testcontainers-go/wait" 14 | ) 15 | 16 | func testExecutableJar(t *testing.T, context spec.G, it spec.S) { 17 | var ( 18 | Expect = NewWithT(t).Expect 19 | 20 | pack occam.Pack 21 | docker occam.Docker 22 | image occam.Image 23 | container testcontainers.Container 24 | buildLogs fmt.Stringer 25 | ) 26 | 27 | it.Before(func() { 28 | pack = occam.NewPack() 29 | docker = occam.NewDocker() 30 | }) 31 | 32 | it.After(func() { 33 | Expect(container.Terminate(ctx.Background())).To(Succeed()) 34 | Expect(docker.Image.Remove.Execute(image.ID)).To(Succeed()) 35 | }) 36 | 37 | it("uses precompiled executable jar", func() { 38 | imageName, err := occam.RandomName() 39 | Expect(err).ToNot(HaveOccurred()) 40 | 41 | image, buildLogs, err = pack.WithNoColor().Build. 42 | WithBuildpacks(buildPack). 43 | WithEnv(map[string]string{ 44 | "BP_ARCH": "amd64", 45 | }). 46 | WithBuilder(builder). 47 | WithTrustBuilder(). 48 | WithPullPolicy("if-not-present"). 49 | Execute(imageName, "samples/java/jar") 50 | Expect(err).ToNot(HaveOccurred()) 51 | Expect(buildLogs.String()).ToNot(BeEmpty()) 52 | Expect(len(image.Buildpacks)).To(BeNumerically(">", 0)) 53 | 54 | container, err = testContainers.WithExposedPorts("8080/tcp").WithWaitingFor(wait.ForLog("Started DemoApplication in")).Execute(imageName) 55 | Expect(err).NotTo(HaveOccurred()) 56 | mappedPort, err := container.MappedPort(ctx.Background(), "8080/tcp") 57 | Expect(err).ShouldNot(HaveOccurred()) 58 | resp, err := makeRequest("/actuator/health", mappedPort.Port()) 59 | Expect(err).ShouldNot(HaveOccurred()) 60 | defer resp.Body.Close() 61 | Expect(resp.StatusCode).To(Equal(200)) 62 | }) 63 | } 64 | -------------------------------------------------------------------------------- /integration/spring_boot_test.go: -------------------------------------------------------------------------------- 1 | package integration_test 2 | 3 | import ( 4 | ctx "context" 5 | "fmt" 6 | "testing" 7 | 8 | . "github.com/onsi/gomega" 9 | "github.com/paketo-buildpacks/occam" 10 | "github.com/sclevine/spec" 11 | "github.com/testcontainers/testcontainers-go" 12 | "github.com/testcontainers/testcontainers-go/wait" 13 | ) 14 | 15 | func testSpringBoot(t *testing.T, context spec.G, it spec.S) { 16 | var ( 17 | Expect = NewWithT(t).Expect 18 | 19 | pack occam.Pack 20 | docker occam.Docker 21 | image occam.Image 22 | container testcontainers.Container 23 | buildLogs fmt.Stringer 24 | ) 25 | 26 | it.Before(func() { 27 | pack = occam.NewPack() 28 | docker = occam.NewDocker() 29 | }) 30 | 31 | it.After(func() { 32 | Expect(container.Terminate(ctx.Background())).To(Succeed()) 33 | Expect(docker.Image.Remove.Execute(image.ID)).To(Succeed()) 34 | }) 35 | 36 | context("Maven", func() { 37 | it("builds SpringBoot app from source with Maven", func() { 38 | imageName, err := occam.RandomName() 39 | Expect(err).ToNot(HaveOccurred()) 40 | 41 | image, buildLogs, err = pack.WithNoColor().Build. 42 | WithBuildpacks(buildPack). 43 | WithEnv(map[string]string{ 44 | "BP_ARCH": "amd64", 45 | }). 46 | WithBuilder(builder). 47 | WithTrustBuilder(). 48 | WithPullPolicy("if-not-present"). 49 | Execute(imageName, "samples/java/maven") 50 | Expect(err).ToNot(HaveOccurred()) 51 | Expect(buildLogs.String()).ToNot(BeEmpty()) 52 | Expect(len(image.Buildpacks)).To(BeNumerically(">", 0)) 53 | 54 | container, err = testContainers.WithExposedPorts("8080/tcp").WithWaitingFor(wait.ForLog("Started DemoApplication in")).Execute(imageName) 55 | Expect(err).NotTo(HaveOccurred()) 56 | mappedPort, err := container.MappedPort(ctx.Background(), "8080/tcp") 57 | Expect(err).ShouldNot(HaveOccurred()) 58 | resp, err := makeRequest("/actuator/health", mappedPort.Port()) 59 | Expect(err).ShouldNot(HaveOccurred()) 60 | defer resp.Body.Close() 61 | Expect(resp.StatusCode).To(Equal(200)) 62 | }) 63 | }) 64 | 65 | context("Gradle", func() { 66 | it("builds SpringBoot app from source with Gradle", func() { 67 | imageName, err := occam.RandomName() 68 | Expect(err).ToNot(HaveOccurred()) 69 | 70 | image, buildLogs, err = pack.WithNoColor().Build. 71 | WithBuildpacks(buildPack). 72 | WithEnv(map[string]string{ 73 | "BP_ARCH": "amd64", 74 | }). 75 | WithBuilder(builder). 76 | WithTrustBuilder(). 77 | WithPullPolicy("if-not-present"). 78 | Execute(imageName, "samples/java/gradle") 79 | Expect(err).ToNot(HaveOccurred()) 80 | Expect(buildLogs.String()).ToNot(BeEmpty()) 81 | Expect(len(image.Buildpacks)).To(BeNumerically(">", 0)) 82 | 83 | container, err = testContainers.WithExposedPorts("8080/tcp").WithWaitingFor(wait.ForLog("Started DemoApplication in")).Execute(imageName) 84 | Expect(err).NotTo(HaveOccurred()) 85 | mappedPort, err := container.MappedPort(ctx.Background(), "8080/tcp") 86 | Expect(err).ShouldNot(HaveOccurred()) 87 | resp, err := makeRequest("/actuator/health", mappedPort.Port()) 88 | Expect(err).ShouldNot(HaveOccurred()) 89 | defer resp.Body.Close() 90 | Expect(resp.StatusCode).To(Equal(200)) 91 | }) 92 | }) 93 | } 94 | -------------------------------------------------------------------------------- /integration/tomcat_test.go: -------------------------------------------------------------------------------- 1 | package integration_test 2 | 3 | import ( 4 | ctx "context" 5 | "fmt" 6 | "testing" 7 | 8 | "github.com/sclevine/spec" 9 | "github.com/testcontainers/testcontainers-go" 10 | "github.com/testcontainers/testcontainers-go/wait" 11 | 12 | . "github.com/onsi/gomega" 13 | "github.com/paketo-buildpacks/occam" 14 | ) 15 | 16 | func testTomcat(t *testing.T, context spec.G, it spec.S) { 17 | var ( 18 | Expect = NewWithT(t).Expect 19 | 20 | pack occam.Pack 21 | docker occam.Docker 22 | image occam.Image 23 | container testcontainers.Container 24 | buildLogs fmt.Stringer 25 | ) 26 | 27 | it.Before(func() { 28 | pack = occam.NewPack() 29 | docker = occam.NewDocker() 30 | }) 31 | 32 | it.After(func() { 33 | Expect(container.Terminate(ctx.Background())).To(Succeed()) 34 | Expect(docker.Image.Remove.Execute(image.ID)).To(Succeed()) 35 | }) 36 | 37 | context("from source", func() { 38 | it("uses Tomcat as the app server", func() { 39 | imageName, err := occam.RandomName() 40 | Expect(err).ToNot(HaveOccurred()) 41 | 42 | image, buildLogs, err = pack.WithNoColor().Build. 43 | WithBuildpacks(buildPack). 44 | WithEnv(map[string]string{ 45 | "BP_ARCH": "amd64", 46 | "BP_TOMCAT_VERSION": "10.1", 47 | }). 48 | WithBuilder(builder). 49 | WithTrustBuilder(). 50 | WithPullPolicy("if-not-present"). 51 | Execute(imageName, "samples/java/war") 52 | Expect(err).ToNot(HaveOccurred()) 53 | Expect(buildLogs.String()).ToNot(BeEmpty()) 54 | Expect(len(image.Buildpacks)).To(BeNumerically(">", 0)) 55 | 56 | container, err = testContainers.WithExposedPorts("8080/tcp").WithWaitingFor(wait.ForLog("Server startup in")).Execute(imageName) 57 | Expect(err).NotTo(HaveOccurred()) 58 | mappedPort, err := container.MappedPort(ctx.Background(), "8080/tcp") 59 | Expect(err).ShouldNot(HaveOccurred()) 60 | resp, err := makeRequest("/actuator/health", mappedPort.Port()) 61 | Expect(err).ShouldNot(HaveOccurred()) 62 | defer resp.Body.Close() 63 | Expect(resp.StatusCode).To(Equal(200)) 64 | }) 65 | }) 66 | 67 | context("precompiled", func() { 68 | it("uses Tomcat as the app server", func() { 69 | imageName, err := occam.RandomName() 70 | Expect(err).ToNot(HaveOccurred()) 71 | 72 | image, buildLogs, err = pack.WithNoColor().Build. 73 | WithBuildpacks(buildPack). 74 | WithEnv(map[string]string{ 75 | "BP_ARCH": "amd64", 76 | "BP_TOMCAT_VERSION": "10.1", 77 | }). 78 | WithBuilder(builder). 79 | WithTrustBuilder(). 80 | WithPullPolicy("if-not-present"). 81 | Execute(imageName, "samples/java/war-spring/target/demo-0.0.1-SNAPSHOT.war") 82 | Expect(err).ToNot(HaveOccurred()) 83 | Expect(buildLogs.String()).ToNot(BeEmpty()) 84 | Expect(len(image.Buildpacks)).To(BeNumerically(">", 0)) 85 | 86 | container, err = testContainers.WithExposedPorts("8080/tcp").WithWaitingFor(wait.ForLog("Server startup in")).Execute(imageName) 87 | Expect(err).NotTo(HaveOccurred()) 88 | mappedPort, err := container.MappedPort(ctx.Background(), "8080/tcp") 89 | Expect(err).ShouldNot(HaveOccurred()) 90 | resp, err := makeRequest("/actuator/health", mappedPort.Port()) 91 | Expect(err).ShouldNot(HaveOccurred()) 92 | defer resp.Body.Close() 93 | Expect(resp.StatusCode).To(Equal(200)) 94 | }) 95 | }) 96 | } 97 | -------------------------------------------------------------------------------- /integration/tomee_test.go: -------------------------------------------------------------------------------- 1 | package integration_test 2 | 3 | import ( 4 | ctx "context" 5 | "fmt" 6 | "testing" 7 | 8 | "github.com/sclevine/spec" 9 | "github.com/testcontainers/testcontainers-go" 10 | "github.com/testcontainers/testcontainers-go/wait" 11 | 12 | . "github.com/onsi/gomega" 13 | "github.com/paketo-buildpacks/occam" 14 | ) 15 | 16 | func testTomee(t *testing.T, context spec.G, it spec.S) { 17 | var ( 18 | Expect = NewWithT(t).Expect 19 | 20 | pack occam.Pack 21 | docker occam.Docker 22 | image occam.Image 23 | container testcontainers.Container 24 | buildLogs fmt.Stringer 25 | ) 26 | 27 | it.Before(func() { 28 | pack = occam.NewPack() 29 | docker = occam.NewDocker() 30 | }) 31 | 32 | it.After(func() { 33 | Expect(container.Terminate(ctx.Background())).To(Succeed()) 34 | Expect(docker.Image.Remove.Execute(image.ID)).To(Succeed()) 35 | }) 36 | 37 | it("uses TomEE as the app server", func() { 38 | imageName, err := occam.RandomName() 39 | Expect(err).ToNot(HaveOccurred()) 40 | 41 | image, buildLogs, err = pack.WithNoColor().Build. 42 | WithBuildpacks(buildPack). 43 | WithEnv(map[string]string{ 44 | "BP_ARCH": "amd64", 45 | "BP_JAVA_APP_SERVER": "tomee", 46 | "BP_TOMEE_VERSION": "9.0", 47 | }). 48 | WithBuilder(builder). 49 | WithTrustBuilder(). 50 | WithPullPolicy("if-not-present"). 51 | Execute(imageName, "samples/java/war/build/libs/war-0.0.1-SNAPSHOT.war") 52 | Expect(err).ToNot(HaveOccurred()) 53 | Expect(buildLogs.String()).ToNot(BeEmpty()) 54 | Expect(len(image.Buildpacks)).To(BeNumerically(">", 0)) 55 | 56 | container, err = testContainers.WithExposedPorts("8080/tcp").WithWaitingFor(wait.ForLog("Server startup in")).Execute(imageName) 57 | Expect(err).NotTo(HaveOccurred()) 58 | mappedPort, err := container.MappedPort(ctx.Background(), "8080/tcp") 59 | Expect(err).ShouldNot(HaveOccurred()) 60 | resp, err := makeRequest("/actuator/health", mappedPort.Port()) 61 | Expect(err).ShouldNot(HaveOccurred()) 62 | defer resp.Body.Close() 63 | Expect(resp.StatusCode).To(Equal(200)) 64 | }) 65 | } 66 | -------------------------------------------------------------------------------- /package.toml: -------------------------------------------------------------------------------- 1 | [[dependencies]] 2 | uri = "docker://docker.io/paketobuildpacks/ca-certificates:3.10.1" 3 | 4 | [[dependencies]] 5 | uri = "docker://docker.io/paketobuildpacks/bellsoft-liberica:11.2.2" 6 | 7 | [[dependencies]] 8 | uri = "docker://docker.io/paketobuildpacks/yarn:1.4.3" 9 | 10 | [[dependencies]] 11 | uri = "docker://docker.io/paketobuildpacks/node-engine:5.6.0" 12 | 13 | [[dependencies]] 14 | uri = "docker://docker.io/paketobuildpacks/syft:2.15.0" 15 | 16 | [[dependencies]] 17 | uri = "docker://docker.io/paketobuildpacks/leiningen:4.12.0" 18 | 19 | [[dependencies]] 20 | uri = "docker://docker.io/paketobuildpacks/clojure-tools:2.15.0" 21 | 22 | [[dependencies]] 23 | uri = "docker://docker.io/paketobuildpacks/gradle:7.19.1" 24 | 25 | [[dependencies]] 26 | uri = "docker://docker.io/paketobuildpacks/maven:6.20.0" 27 | 28 | [[dependencies]] 29 | uri = "docker://docker.io/paketobuildpacks/sbt:6.18.1" 30 | 31 | [[dependencies]] 32 | uri = "docker://docker.io/paketobuildpacks/watchexec:3.5.2" 33 | 34 | [[dependencies]] 35 | uri = "docker://docker.io/paketobuildpacks/executable-jar:6.13.0" 36 | 37 | [[dependencies]] 38 | uri = "docker://docker.io/paketobuildpacks/apache-tomcat:8.5.4" 39 | 40 | [[dependencies]] 41 | uri = "docker://docker.io/paketobuildpacks/apache-tomee:1.12.0" 42 | 43 | [[dependencies]] 44 | uri = "docker://docker.io/paketobuildpacks/liberty:5.1.3" 45 | 46 | [[dependencies]] 47 | uri = "docker://docker.io/paketobuildpacks/dist-zip:5.10.0" 48 | 49 | [[dependencies]] 50 | uri = "docker://docker.io/paketobuildpacks/spring-boot:5.33.0" 51 | 52 | [[dependencies]] 53 | uri = "docker://docker.io/paketobuildpacks/procfile:5.11.0" 54 | 55 | [[dependencies]] 56 | uri = "docker://docker.io/paketobuildpacks/jattach:1.10.0" 57 | 58 | [[dependencies]] 59 | uri = "docker://docker.io/paketobuildpacks/azure-application-insights:5.25.1" 60 | 61 | [[dependencies]] 62 | uri = "docker://docker.io/paketobuildpacks/google-stackdriver:9.4.0" 63 | 64 | [[dependencies]] 65 | uri = "docker://docker.io/paketobuildpacks/datadog:5.33.0" 66 | 67 | [[dependencies]] 68 | uri = "docker://docker.io/paketobuildpacks/java-memory-assistant:1.8.0" 69 | 70 | [[dependencies]] 71 | uri = "docker://docker.io/paketobuildpacks/encrypt-at-rest:4.9.1" 72 | 73 | [[dependencies]] 74 | uri = "docker://docker.io/paketobuildpacks/environment-variables:4.9.0" 75 | 76 | [[dependencies]] 77 | uri = "docker://docker.io/paketobuildpacks/image-labels:4.9.0" 78 | 79 | [[targets]] 80 | arch = "amd64" 81 | os = "linux" 82 | 83 | [[targets]] 84 | arch = "arm64" 85 | os = "linux" 86 | --------------------------------------------------------------------------------