…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