Description
I still use this action for labeling features, but if you're open to it, I'd really like you to consider importing my actions tag handling capabilities due to their power, simplicity, and flexibility.
To give you an example, here's a snippet from a repo where I'm using the latest functionality I've implemented, snippet pulled from https://github.com/OctoPrint/octoprint-docker/blob/master/.github/workflows/octoprint-release.yml#L69-L87:
-
id: buildxy
run: echo '::set-output name=buildxy::${{ (github.event.action == 'deploy'|| github.event.action == 'released') && github.event.client_payload.tag_name == steps.stable-octoprint.outputs.release }}'
-
name: Tagging Strategy
id: tagging
uses: HackerHappyHour/tagging-strategy@v3
with:
image_name: octoprint/octoprint
tag_name: ${{ github.event.client_payload.tag_name }}
tags: |
%X%::${{ steps.buildxy.outputs.buildxy }}
%X.Y%::${{ steps.buildxy.outputs.buildxy }}
%X.Y.Z%
extra_tags: |
latest::${{ steps.stable-octoprint.outputs.release == github.event.client_payload.tag_name }}
edge::${{ github.event.action == 'prereleased' || github.event.client_payload.tag_name == steps.latest-octoprint.outputs.release }}
canary::${{ github.event.action == 'canary' }}
bleeding::${{ github.event.action == 'bleeding' }}
This one snippet demonstrates the how i think the approach to tagging should work in ghaction-dockermeta:
- explicit control over the conditions of each and every tag,
- semver parsing
- no interdependent input parameters,
- output compatible with docker/build-push-action
- supports tag suffixes Add tag flavor #15
- supports additional non-semver custom tags Allow to add custom tags #24 via
extra_tags
- compatible with externally triggered events
- sha tags (via
extra_tags
parameter in a similar way to your{{raw}}
usage
Bonus
As far as I can tell, refactoring tag inputs to work as they do in HackerHappyHour/tagging-strategy@v3+ would close the following open issues as well:
- Handle branch names including issue numbers correctly #29 (since the base tag input isn't resolved by the action but passed in by the user, the user can pass in whatever they want)
- Select/Change order of tags. #27 (simply changing the order in the
tags
orextra_tags
of HackerHappyHour/tagging-strategy accomplishes this) - Handling short version tags #25 (you can see in the example above how HackerHappyHour/tagging-strategy already does this)
- Add appending option to tags #13 (HackerHappyHour/tagging-strategy already supports this, examples here, here and in the testing fixtures)
I doubt my action will ever get any users (even though I obviously have a super high opinion of it 😏 ), but you've got the benefit of having been in the docker action space since actions launched, and the have visibility and reach. I'd love for the work I did to benefit your users and carry over here.
Would you be willing to consider a redesign to bring support for this usage technique? I'd really love to be able to archive my project and merge it with yours!