The action currently only supports targeting a single-architecture image. This can lead to scenarios where the action triggers a dispatch unnecessarily. For example, an image that is based on a multi-arch tag:
FROM alpine:latest
And that image is only published for a single architecture (e.g. amd64). If the multi-arch tag (alpine:latest) gets updated for any reason, it will trigger a dispatch even if the multi-arch tag is referencing the same amd64 image digest. In that case, the dispatch is unnecessary.
So there should be support for multi-arch base tags (aka manifests list/image index). In this case, it should determine that the target image is amd64 and only compare against the amd64 image associated with the multi-arch tag.
In addition, there may be a case where the target image tag is multi-arch. In that case, all of the underlying images should be compared against their associated architectures from the base multi-arch tag. It's important then that the dispatch payload include the architecture(s) that triggered the dispatch.
The action currently only supports targeting a single-architecture image. This can lead to scenarios where the action triggers a dispatch unnecessarily. For example, an image that is based on a multi-arch tag:
And that image is only published for a single architecture (e.g.
amd64
). If the multi-arch tag (alpine:latest
) gets updated for any reason, it will trigger a dispatch even if the multi-arch tag is referencing the sameamd64
image digest. In that case, the dispatch is unnecessary. So there should be support for multi-arch base tags (aka manifests list/image index). In this case, it should determine that the target image isamd64
and only compare against theamd64
image associated with the multi-arch tag.In addition, there may be a case where the target image tag is multi-arch. In that case, all of the underlying images should be compared against their associated architectures from the base multi-arch tag. It's important then that the dispatch payload include the architecture(s) that triggered the dispatch.