diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b9d3fd4..11dcc47 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @garethjevans +* @garethjevans \ No newline at end of file diff --git a/.github/workflows/pb-create-package.yml b/.github/workflows/pb-create-package.yml index 04a4407..4717b30 100644 --- a/.github/workflows/pb-create-package.yml +++ b/.github/workflows/pb-create-package.yml @@ -9,13 +9,6 @@ jobs: runs-on: - ubuntu-latest steps: - - name: Docker login gcr.io - if: ${{ (github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork) && (github.actor != 'dependabot[bot]') }} - uses: docker/login-action@v2 - with: - password: ${{ secrets.GCR_PUSH_BOT_JSON_KEY }} - registry: gcr.io - username: _json_key - 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@v2 @@ -202,7 +195,7 @@ jobs: --format "${FORMAT}" fi env: - PACKAGES: docker.io/paketobuildpacks/watchexec gcr.io/paketo-buildpacks/watchexec + PACKAGES: docker.io/garethjevans/ytt PUBLISH: "true" VERSION: ${{ steps.version.outputs.version }} VERSION_MAJOR: ${{ steps.version.outputs.version-major }} @@ -232,7 +225,7 @@ jobs: - if: ${{ true }} uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:4.0.1 with: - address: docker.io/paketobuildpacks/watchexec@${{ steps.package.outputs.digest }} - id: paketo-buildpacks/watchexec + address: docker.io/garethjevans/ytt@${{ steps.package.outputs.digest }} + id: garethjevans/ytt token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} version: ${{ steps.version.outputs.version }} diff --git a/.github/workflows/pb-tests.yml b/.github/workflows/pb-tests.yml index 4649e5c..d410184 100644 --- a/.github/workflows/pb-tests.yml +++ b/.github/workflows/pb-tests.yml @@ -15,6 +15,13 @@ jobs: 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@v2 + with: + password: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_PASSWORD }} + registry: docker.io + username: ${{ secrets.PAKETO_BUILDPACKS_DOCKERHUB_USERNAME }} - uses: actions/setup-go@v4 with: go-version: "1.20" diff --git a/.github/workflows/pb-update-go.yml b/.github/workflows/pb-update-go.yml index 90f6d47..4eceb2e 100644 --- a/.github/workflows/pb-update-go.yml +++ b/.github/workflows/pb-update-go.yml @@ -1,7 +1,7 @@ name: Update Go "on": schedule: - - cron: 13 2 * * 1 + - cron: 5 2 * * 1 workflow_dispatch: {} jobs: update: diff --git a/.github/workflows/pb-update-ytt-cli.yml b/.github/workflows/pb-update-ytt-cli.yml new file mode 100644 index 0000000..3f9e1b7 --- /dev/null +++ b/.github/workflows/pb-update-ytt-cli.yml @@ -0,0 +1,114 @@ +name: Update Ytt CLI +"on": + schedule: + - cron: 0 5 * * 1-5 + workflow_dispatch: {} +jobs: + update: + name: Update Buildpack Dependency + runs-on: + - ubuntu-latest + steps: + - uses: actions/setup-go@v4 + with: + go-version: "1.20" + - name: Install update-buildpack-dependency + run: | + #!/usr/bin/env bash + + set -euo pipefail + + go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/update-buildpack-dependency@latest + - name: Install yj + run: | + #!/usr/bin/env bash + + set -euo pipefail + + echo "Installing yj ${YJ_VERSION}" + + mkdir -p "${HOME}"/bin + echo "${HOME}/bin" >> "${GITHUB_PATH}" + + curl \ + --location \ + --show-error \ + --silent \ + --output "${HOME}"/bin/yj \ + "https://github.com/sclevine/yj/releases/download/v${YJ_VERSION}/yj-linux" + + chmod +x "${HOME}"/bin/yj + env: + YJ_VERSION: 5.0.0 + - uses: actions/checkout@v3 + - id: dependency + uses: docker://ghcr.io/paketo-buildpacks/actions/github-release-dependency:main + with: + glob: ytt-linux-amd64 + owner: carvel-dev + repository: ytt + tag_filter: v(0.*) + token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} + - name: Update Buildpack Dependency + id: buildpack + run: | + #!/usr/bin/env bash + + set -euo pipefail + + OLD_VERSION=$(yj -tj < buildpack.toml | jq -r " + .metadata.dependencies[] | + select( .id == env.ID ) | + select( .version | test( env.VERSION_PATTERN ) ) | + .version") + + update-buildpack-dependency \ + --buildpack-toml buildpack.toml \ + --id "${ID}" \ + --version-pattern "${VERSION_PATTERN}" \ + --version "${VERSION}" \ + --cpe-pattern "${CPE_PATTERN:-}" \ + --cpe "${CPE:-}" \ + --purl-pattern "${PURL_PATTERN:-}" \ + --purl "${PURL:-}" \ + --uri "${URI}" \ + --sha256 "${SHA256}" + + git add buildpack.toml + git checkout -- . + + if [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $1}')" != "$(echo "$VERSION" | awk -F '.' '{print $1}')" ]; then + LABEL="semver:major" + elif [ "$(echo "$OLD_VERSION" | awk -F '.' '{print $2}')" != "$(echo "$VERSION" | awk -F '.' '{print $2}')" ]; then + LABEL="semver:minor" + else + LABEL="semver:patch" + fi + + echo "old-version=${OLD_VERSION}" >> "$GITHUB_OUTPUT" + echo "new-version=${VERSION}" >> "$GITHUB_OUTPUT" + echo "version-label=${LABEL}" >> "$GITHUB_OUTPUT" + env: + CPE: ${{ steps.dependency.outputs.cpe }} + CPE_PATTERN: "" + ID: ytt + PURL: ${{ steps.dependency.outputs.purl }} + PURL_PATTERN: "" + SHA256: ${{ steps.dependency.outputs.sha256 }} + URI: ${{ steps.dependency.outputs.uri }} + VERSION: ${{ steps.dependency.outputs.version }} + VERSION_PATTERN: '[\d]+\.[\d]+\.[\d]+' + - uses: peter-evans/create-pull-request@v5 + with: + author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> + body: Bumps `Ytt CLI` from `${{ steps.buildpack.outputs.old-version }}` to `${{ steps.buildpack.outputs.new-version }}`. + branch: update/buildpack/ytt-cli + commit-message: |- + Bump Ytt CLI from ${{ steps.buildpack.outputs.old-version }} to ${{ steps.buildpack.outputs.new-version }} + + Bumps Ytt CLI from ${{ steps.buildpack.outputs.old-version }} to ${{ steps.buildpack.outputs.new-version }}. + delete-branch: true + labels: ${{ steps.buildpack.outputs.version-label }}, type:dependency-upgrade + signoff: true + title: Bump Ytt CLI from ${{ steps.buildpack.outputs.old-version }} to ${{ steps.buildpack.outputs.new-version }} + token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }}