|
14 | 14 | - name: Parse Event
|
15 | 15 | id: event
|
16 | 16 | run: |
|
17 |
| - echo "::set-output name=tag::$(jq -r '.release.tag_name' "${GITHUB_EVENT_PATH}" | sed s/^v//)" |
| 17 | + FULL_VERSION="$(jq -r '.release.tag_name' "${GITHUB_EVENT_PATH}" | sed s/^v//)" |
| 18 | + MINOR_VERSION="$(echo "${FULL_VERSION}" | awk -F '.' '{print $1 "." $2 }')" |
| 19 | + MAJOR_VERSION="$(echo "${FULL_VERSION}" | awk -F '.' '{print $1 }')" |
| 20 | + echo "::set-output name=tag_full::${FULL_VERSION}" |
| 21 | + echo "::set-output name=tag_minor::${MINOR_VERSION}" |
| 22 | + echo "::set-output name=tag_major::${MAJOR_VERSION}" |
18 | 23 | echo "::set-output name=download_url::$(jq -r '.release.assets[] | select(.name | endswith(".cnb")) | .url' "${GITHUB_EVENT_PATH}")"
|
19 | 24 |
|
20 | 25 | - name: Download
|
|
28 | 33 | - name: Validate version
|
29 | 34 | run: |
|
30 | 35 | buidpackTomlVersion=$(sudo skopeo inspect "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" | jq -r '.Labels."io.buildpacks.buildpackage.metadata" | fromjson | .version')
|
31 |
| - githubReleaseVersion="${{ steps.event.outputs.tag }}" |
| 36 | + githubReleaseVersion="${{ steps.event.outputs.tag_full }}" |
32 | 37 | if [[ "$buidpackTomlVersion" != "$githubReleaseVersion" ]]; then
|
33 | 38 | echo "Version in buildpack.toml ($buidpackTomlVersion) and github release ($githubReleaseVersion) are not identical"
|
34 | 39 | exit 1
|
|
39 | 44 | GCR_PUSH_BOT_JSON_KEY: ${{ secrets.GCR_PUSH_BOT_JSON_KEY }}
|
40 | 45 | run: |
|
41 | 46 | echo "${GCR_PUSH_BOT_JSON_KEY}" | sudo skopeo login --username _json_key --password-stdin gcr.io
|
42 |
| - sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://gcr.io/${{ github.repository }}:${{ steps.event.outputs.tag }}" |
| 47 | + sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://gcr.io/${{ github.repository }}:${{ steps.event.outputs.tag_full }}" |
| 48 | + sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://gcr.io/${{ github.repository }}:${{ steps.event.outputs.tag_minor }}" |
| 49 | + sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://gcr.io/${{ github.repository }}:${{ steps.event.outputs.tag_major }}" |
43 | 50 | sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://gcr.io/${{ github.repository }}:latest"
|
44 | 51 |
|
45 | 52 | - name: Push to DockerHub
|
|
52 | 59 | REPOSITORY="${GITHUB_REPOSITORY_OWNER/-/}/${GITHUB_REPOSITORY#${GITHUB_REPOSITORY_OWNER}/}" # translates 'paketo-buildpacks/bundle-install' to 'paketobuildpacks/bundle-install'
|
53 | 60 | IMAGE="index.docker.io/${REPOSITORY}"
|
54 | 61 | echo "${DOCKERHUB_PASSWORD}" | sudo skopeo login --username "${DOCKERHUB_USERNAME}" --password-stdin index.docker.io
|
55 |
| - sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://${IMAGE}:${{ steps.event.outputs.tag }}" |
| 62 | + sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://${IMAGE}:${{ steps.event.outputs.tag_full }}" |
| 63 | + sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://${IMAGE}:${{ steps.event.outputs.tag_minor }}" |
| 64 | + sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://${IMAGE}:${{ steps.event.outputs.tag_major }}" |
56 | 65 | sudo skopeo copy "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" "docker://${IMAGE}:latest"
|
57 | 66 | echo "::set-output name=image::${IMAGE}"
|
58 | 67 | echo "::set-output name=digest::$(sudo skopeo inspect "oci-archive:${GITHUB_WORKSPACE}/buildpackage.cnb" | jq -r .Digest)"
|
|
61 | 70 | uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:main
|
62 | 71 | with:
|
63 | 72 | id: ${{ github.repository }}
|
64 |
| - version: ${{ steps.event.outputs.tag }} |
| 73 | + version: ${{ steps.event.outputs.tag_full }} |
65 | 74 | address: ${{ steps.push.outputs.image }}@${{ steps.push.outputs.digest }}
|
66 | 75 | token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }}
|
0 commit comments