diff --git a/.github/workflows/pb-update-opentelemetry.yml b/.github/workflows/pb-update-opentelemetry.yml new file mode 100644 index 00000000..69f643bd --- /dev/null +++ b/.github/workflows/pb-update-opentelemetry.yml @@ -0,0 +1,100 @@ +name: Update opentelemetry +"on": + schedule: + - cron: 0 4 * * 4-5 + workflow_dispatch: {} +jobs: + update: + name: Update Package Dependency + runs-on: + - ubuntu-latest + steps: + - name: Docker login docker.io + if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} + uses: docker/login-action@v3 + with: + password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} + registry: docker.io + username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} + - uses: actions/setup-go@v5 + with: + go-version: "1.26" + - name: Install update-package-dependency + run: | + #!/usr/bin/env bash + + set -euo pipefail + + go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-package-dependency@latest + - uses: buildpacks/github-actions/setup-tools@v5.11.0 + with: + crane-version: 0.20.3 + yj-version: 5.1.0 + - uses: actions/checkout@v4 + - name: Update Package Dependency + id: package + run: | + #!/usr/bin/env bash + + set -euo pipefail + + NEW_VERSION=$(crane ls "${DEPENDENCY}" | grep -v latest | sort -V | tail -n 1) + + if [[ -e builder.toml ]]; then + OLD_VERSION=$(yj -tj < builder.toml | jq -r ".buildpacks[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") + + update-package-dependency \ + --builder-toml builder.toml \ + --id "${DEPENDENCY}" \ + --version "${NEW_VERSION}" + + git add builder.toml + fi + + if [[ -e package.toml ]]; then + OLD_VERSION=$(yj -tj < package.toml | jq -r ".dependencies[].uri | capture(\".*${DEPENDENCY}:(?.+)\") | .version") + + update-package-dependency \ + --buildpack-toml buildpack.toml \ + --id "${BP_DEPENDENCY:-$DEPENDENCY}" \ + --version "${NEW_VERSION}" + + update-package-dependency \ + --package-toml package.toml \ + --id "${PKG_DEPENDENCY:-$DEPENDENCY}" \ + --version "${NEW_VERSION}" + + git add buildpack.toml package.toml + fi + + git checkout -- . + + if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $1}')" ]; then + LABEL="semver:major" + elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$NEW_VERSION" | awk -F '.' '{print $2}')" ]; then + LABEL="semver:minor" + else + LABEL="semver:patch" + fi + + echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" + echo "new-version=${NEW_VERSION}" >> "$GITHUB_OUTPUT" + echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" + env: + BP_DEPENDENCY: docker.io/paketo-buildpacks/opentelemetry + DEPENDENCY: docker.io/paketobuildpacks/opentelemetry + - uses: peter-evans/create-pull-request@v6 + with: + author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> + body: Bumps [`docker.io/paketobuildpacks/opentelemetry`](https://docker.io/paketobuildpacks/opentelemetry) from [`${{ steps.package.outputs.old-version }}`](https://docker.io/paketobuildpacks/opentelemetry:${{ steps.package.outputs.old-version }}) to [`${{ steps.package.outputs.new-version }}`](https://docker.io/paketobuildpacks/opentelemetry:${{ steps.package.outputs.new-version }}). + branch: update/package/opentelemetry + commit-message: |- + Bump docker.io/paketobuildpacks/opentelemetry from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} + + Bumps docker.io/paketobuildpacks/opentelemetry from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }}. + delete-branch: true + delete-branch: true + labels: ${{ steps.package.outputs.version-label }}, type:dependency-upgrade + signoff: true + title: Bump docker.io/paketobuildpacks/opentelemetry from ${{ steps.package.outputs.old-version }} to ${{ steps.package.outputs.new-version }} + token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} diff --git a/README.md b/README.md index 3a56542e..e73658be 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ The Paketo Buildpack for Java is a Cloud Native Buildpack with an order definiti * [`paketo-buildpacks/leiningen`](https://github.com/paketo-buildpacks/leiningen) * [`paketo-buildpacks/liberty`](https://github.com/paketo-buildpacks/liberty) * [`paketo-buildpacks/maven`](https://github.com/paketo-buildpacks/maven) +* [`paketo-buildpacks/opentelemetry`](https://github.com/paketo-buildpacks/opentelemetry) * [`paketo-buildpacks/procfile`](https://github.com/paketo-buildpacks/procfile) * [`paketo-buildpacks/sbt`](https://github.com/paketo-buildpacks/sbt) * [`paketo-buildpacks/spring-boot`](https://github.com/paketo-buildpacks/spring-boot) diff --git a/package.toml b/package.toml index d0a0fb50..2e44d851 100644 --- a/package.toml +++ b/package.toml @@ -76,6 +76,9 @@ [[dependencies]] uri = "docker://docker.io/paketobuildpacks/image-labels:4.12.0" +[[dependencies]] + uri = "docker://docker.io/paketobuildpacks/opentelemetry:2.21.1" + [[targets]] arch = "amd64" os = "linux"