Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Restore safe Docker publishing (#239)
* This fix restores the safety of triggering the release automation on an existing release which was lost in the updates for publishing multi-arch Docker images in #194. The buildpack matrix output can contain two variants of images to publish: - A CNB with a single target. E.g.; ```json { "buildpack_id": "heroku/nodejs-function", "buildpack_version": "3.2.6", "buildpack_type": "composite", "buildpack_dir": "/home/runner/work/buildpacks-nodejs/buildpacks-nodejs/meta-buildpacks/nodejs-function", "targets": [ { "os": "linux", "arch": "amd64", "rust_triple": "x86_64-unknown-linux-musl", "oci_target": "linux/amd64", "cnb_file": "heroku_nodejs-function.cnb", "stable_tag": "docker.io/heroku/buildpack-nodejs-function:3.2.6", "temporary_tag": "docker.io/heroku/buildpack-nodejs-function:_9781380433", "output_dir": "/home/runner/work/buildpacks-nodejs/buildpacks-nodejs/./packaged/x86_64-unknown-linux-musl/release/heroku_nodejs-function" } ], "image_repository": "docker.io/heroku/buildpack-nodejs-function", "stable_tag": "docker.io/heroku/buildpack-nodejs-function:3.2.6", "temporary_tag": "docker.io/heroku/buildpack-nodejs-function:_9781380433" } ``` - Or a CNB with multiple targets. E.g.; ```json { "buildpack_id": "heroku/nodejs-npm-install", "buildpack_version": "3.2.6", "buildpack_type": "libcnb", "buildpack_dir": "/home/runner/work/buildpacks-nodejs/buildpacks-nodejs/buildpacks/nodejs-npm-install", "targets": [ { "os": "linux", "arch": "amd64", "rust_triple": "x86_64-unknown-linux-musl", "oci_target": "linux/amd64", "cnb_file": "heroku_nodejs-npm-install_linux-amd64.cnb", "stable_tag": "docker.io/heroku/buildpack-nodejs-npm-install:3.2.6_linux-amd64", "temporary_tag": "docker.io/heroku/buildpack-nodejs-npm-install:_9781380433_linux-amd64", "output_dir": "/home/runner/work/buildpacks-nodejs/buildpacks-nodejs/./packaged/x86_64-unknown-linux-musl/release/heroku_nodejs-npm-install" }, { "os": "linux", "arch": "arm64", "rust_triple": "aarch64-unknown-linux-musl", "oci_target": "linux/arm64", "cnb_file": "heroku_nodejs-npm-install_linux-arm64.cnb", "stable_tag": "docker.io/heroku/buildpack-nodejs-npm-install:3.2.6_linux-arm64", "temporary_tag": "docker.io/heroku/buildpack-nodejs-npm-install:_9781380433_linux-arm64", "output_dir": "/home/runner/work/buildpacks-nodejs/buildpacks-nodejs/./packaged/aarch64-unknown-linux-musl/release/heroku_nodejs-npm-install" } ], "image_repository": "docker.io/heroku/buildpack-nodejs-npm-install", "stable_tag": "docker.io/heroku/buildpack-nodejs-npm-install:3.2.6", "temporary_tag": "docker.io/heroku/buildpack-nodejs-npm-install:_9781380433" } ``` When the automation runs successfully, either a single image or multiple images + a manifest list will have been published. Both the single image and manifest list are tagged with the value `matrix.stable_tag`. Therefore, if this tag exists, we shouldn't need to publish anything to Docker and we can skip that work. Fixes #238 * Remove added whitespace
- Loading branch information