The docs for the manifest plugin list tags
as an optional setting for manifest (not spec) mode. And if I’m reading the code correctly, it seems that a tags
setting and/or a .tags
file would be read by the plugin.
My expectation would be that either of these would add onto the list of tags specified by the target
setting. However, it seems both tags
setting and .tags
file are ignored.
Example sanitized .drone.yml
:
---
kind: pipeline
type: docker
name: publish amd64 image
# default autoscaler node is arm64
steps:
- name: publish app image
image: plugins/docker
settings:
dockerfile: Dockerfile
registry: our.private.registry
repo: our.private.registry/this-thing
tags:
- build-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}-${DRONE_BUILD_NUMBER}
depends_on: []
---
kind: pipeline
type: docker
name: publish arm64 image
node:
arch: arm64
platform:
os: linux
arch: arm64
steps:
steps:
- name: publish app image
image: plugins/docker
settings:
dockerfile: Dockerfile
registry: our.private.registry
repo: our.private.registry/this-thing
tags:
- build-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}-${DRONE_BUILD_NUMBER}
depends_on: []
---
kind: pipeline
type: docker
name: publish manifest
# default autoscaler node is arm64
steps:
- name: publish
image: plugins/manifest
settings:
target: our.private.registry/this-thing:build-${DRONE_BUILD_NUMBER}
template: our.private.registry/this-thing:build-OS-ARCH-${DRONE_BUILD_NUMBER}
tags:
- latest-${DRONE_BRANCH//\//-}
- ${DRONE_COMMIT_SHA:0:8}
platforms:
- linux/arm64
- linux/amd64
depends_on:
- publish amd64 image
- publish arm64 image
I’ve also tried generating a .tags
file for the publish manifest.publish
step. The results are the same either way:
latest: Pulling from plugins/manifest
Digest: sha256:...
Status: Image is up to date for plugins/manifest:latest
2022/06/22 16:47:14 pushing our.private.registry/this-thing:build-OS-ARCH-33 to our.private.registry/this-thing:build-33 linux/arm64, linux/amd64
Digest: sha256:... ...
The additional tags are not pushed to our docker registry.