diff --git a/.github/workflows/pb-create-package.yml b/.github/workflows/pb-create-package.yml index 0ffded9..1704c8b 100644 --- a/.github/workflows/pb-create-package.yml +++ b/.github/workflows/pb-create-package.yml @@ -18,7 +18,7 @@ jobs: username: ${{ secrets.DOCKER_USER }} - uses: actions/setup-go@v5 with: - go-version: "1.20" + go-version: "1.22" - name: Install create-package run: | #!/usr/bin/env bash @@ -26,24 +26,13 @@ jobs: set -euo pipefail go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/create-package@latest - - uses: buildpacks/github-actions/setup-tools@v5.5.3 + - uses: buildpacks/github-actions/setup-tools@v5.7.2 with: - crane-version: 0.19.0 + crane-version: 0.19.1 yj-version: 5.1.0 - - name: Install pack - run: | - #!/usr/bin/env bash - # this is coming from a copy of https://github.com/buildpacks/pack/actions/runs/8118576298 stored on box - # TODO to revisit when the official one is out - set -euo pipefail - - echo "Installing pack experimental" - - mkdir -p "${HOME}"/bin - echo "${HOME}/bin" >> "${GITHUB_PATH}" - - curl -L "https://ent.box.com/shared/static/j4d1bfe9uk1sb0i7zjvci0md9xmy41u4" -o ${HOME}/bin/pack - chmod +x "${HOME}"/bin/pack + - uses: buildpacks/github-actions/setup-pack@v5.7.2 + with: + pack-version: 0.34.2 - name: Enable pack Experimental if: ${{ false }} run: | @@ -181,7 +170,7 @@ jobs: else pack -v buildpack package \ "${PACKAGE}:${VERSION}" ${CONFIG} \ - --format "${FORMAT}" + --format "${FORMAT}" $([ -n "$TTL_SH_PUBLISH" ] && [ "$TTL_SH_PUBLISH" = "true" ] && echo "--publish") fi env: PACKAGES: docker.io/buildpacksio/profile @@ -212,7 +201,7 @@ jobs: DIGEST: ${{ steps.package.outputs.digest }} GITHUB_TOKEN: ${{ secrets.IMPLEMENTATION_GITHUB_TOKEN }} - if: ${{ true }} - uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:5.5.3 + uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:5.7.2 with: address: docker.io/buildpacksio/profile@${{ steps.package.outputs.digest }} id: buildpacksio/profile diff --git a/.github/workflows/pb-tests.yml b/.github/workflows/pb-tests.yml index cc8a34d..e28cd87 100644 --- a/.github/workflows/pb-tests.yml +++ b/.github/workflows/pb-tests.yml @@ -24,7 +24,7 @@ jobs: username: ${{ secrets.DOCKER_USER }} - uses: actions/setup-go@v5 with: - go-version: "1.20" + go-version: "1.22" - name: Install create-package run: | #!/usr/bin/env bash @@ -32,20 +32,9 @@ jobs: set -euo pipefail go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/create-package@latest - - name: Install pack - run: | - #!/usr/bin/env bash - # this is coming from a copy of https://github.com/buildpacks/pack/actions/runs/8118576298 stored on box - # TODO to revisit when the official one is out - set -euo pipefail - - echo "Installing pack experimental" - - mkdir -p "${HOME}"/bin - echo "${HOME}/bin" >> "${GITHUB_PATH}" - - curl -L "https://ent.box.com/shared/static/j4d1bfe9uk1sb0i7zjvci0md9xmy41u4" -o ${HOME}/bin/pack - chmod +x "${HOME}"/bin/pack + - uses: buildpacks/github-actions/setup-pack@v5.7.2 + with: + pack-version: 0.34.2 - name: Enable pack Experimental if: ${{ false }} run: | @@ -180,11 +169,12 @@ jobs: else pack -v buildpack package \ "${PACKAGE}:${VERSION}" ${CONFIG} \ - --format "${FORMAT}" + --format "${FORMAT}" $([ -n "$TTL_SH_PUBLISH" ] && [ "$TTL_SH_PUBLISH" = "true" ] && echo "--publish") fi env: FORMAT: image PACKAGES: test + TTL_SH_PUBLISH: "false" VERSION: ${{ steps.version.outputs.version }} unit: name: Unit Test @@ -199,7 +189,7 @@ jobs: restore-keys: ${{ runner.os }}-go- - uses: actions/setup-go@v5 with: - go-version: "1.20" + go-version: "1.22" - name: Install richgo run: | #!/usr/bin/env bash diff --git a/.github/workflows/pb-update-go.yml b/.github/workflows/pb-update-go.yml index 6119432..5a678a4 100644 --- a/.github/workflows/pb-update-go.yml +++ b/.github/workflows/pb-update-go.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/setup-go@v5 with: - go-version: "1.20" + go-version: "1.22" - uses: actions/checkout@v4 - name: Update Go Version & Modules id: update-go @@ -49,7 +49,7 @@ jobs: echo "commit-body=${COMMIT_BODY}" >> "$GITHUB_OUTPUT" echo "commit-semver=${COMMIT_SEMVER}" >> "$GITHUB_OUTPUT" env: - GO_VERSION: "1.20" + GO_VERSION: "1.22" - uses: peter-evans/create-pull-request@v6 with: author: ${{ secrets.IMPLEMENTATION_GITHUB_USERNAME }} <${{ secrets.IMPLEMENTATION_GITHUB_USERNAME }}@users.noreply.github.com> diff --git a/.github/workflows/pb-update-pipeline.yml b/.github/workflows/pb-update-pipeline.yml index e747347..d03bab0 100644 --- a/.github/workflows/pb-update-pipeline.yml +++ b/.github/workflows/pb-update-pipeline.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/setup-go@v5 with: - go-version: "1.20" + go-version: "1.22" - name: Install octo run: | #!/usr/bin/env bash diff --git a/.gitignore b/.gitignore index b90fc75..2f65ee4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# Copyright 2018-2022 the original author or authors. +# Copyright 2018-2020 the original author or authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,6 +13,8 @@ # limitations under the License. bin/ +linux/ dependencies/ package/ scratch/ + diff --git a/buildpack.toml b/buildpack.toml index 4ab8287..7f354a0 100644 --- a/buildpack.toml +++ b/buildpack.toml @@ -1,4 +1,4 @@ -# Copyright 2018-2022 the original author or authors. +# Copyright 2018-2024 the original author or authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,23 +15,29 @@ api = "0.8" [buildpack] -id = "buildpacksio/profile" -name = "Profile Buildpack" -version = "{{.version}}" -homepage = "https://github.com/buildpacks/profile" + description = "A Cloud Native Buildpack that handles profile scripts" + homepage = "https://github.com/buildpacks/profile" + id = "buildpacksio/profile" + keywords = ["profile", "bash"] + name = "Profile Buildpack" + sbom-formats = ["application/vnd.cyclonedx+json", "application/vnd.syft+json"] + version = "{{.version}}" -[[stacks]] -id = "*" + [[buildpack.licenses]] + type = "Apache-2.0" + uri = "https://github.com/paketo-buildpacks/apache-tomcat/blob/main/LICENSE" [metadata] -pre-package = "scripts/build.sh" -include-files = [ - "LICENSE", - "NOTICE", - "README.md", - "bin/build", - "bin/detect", - "bin/main", - "scripts/profiled-wrapper.sh", - "buildpack.toml", -] + pre-package = "scripts/build.sh" + include-files = ["LICENSE", "NOTICE", "README.md", "linux/amd64/bin/build", "linux/amd64/bin/detect", "linux/amd64/bin/main", "linux/arm64/bin/build", "linux/arm64/bin/detect", "linux/arm64/bin/main", "scripts/profiled-wrapper.sh", "buildpack.toml"] + +[[stacks]] + id = "*" + +[[targets]] + arch = "amd64" + os = "linux" + +[[targets]] + arch = "arm64" + os = "linux" diff --git a/scripts/build.sh b/scripts/build.sh index 119efb9..11e6bd6 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,16 +1,19 @@ #!/usr/bin/env bash - set -euo pipefail -GOOS="linux" go build -ldflags='-s -w' -o bin/main github.com/buildpacks/profile/cmd/main +GOMOD=$(head -1 go.mod | awk '{print $2}') +GOOS="linux" GOARCH="amd64" go build -ldflags='-s -w' -o linux/amd64/bin/main "$GOMOD/cmd/main" +GOOS="linux" GOARCH="arm64" go build -ldflags='-s -w' -o linux/arm64/bin/main "$GOMOD/cmd/main" if [ "${STRIP:-false}" != "false" ]; then - strip bin/main + strip linux/amd64/bin/main linux/arm64/bin/main fi if [ "${COMPRESS:-none}" != "none" ]; then - $COMPRESS bin/main + $COMPRESS linux/amd64/bin/main linux/arm64/bin/main fi -ln -fs main bin/build -ln -fs main bin/detect +ln -fs main linux/amd64/bin/build +ln -fs main linux/arm64/bin/build +ln -fs main linux/amd64/bin/detect +ln -fs main linux/arm64/bin/detect \ No newline at end of file