|
5 | 5 | types: |
6 | 6 | - published |
7 | 7 | workflow_dispatch: |
8 | | - inputs: |
9 | | - use_latest_tag: |
10 | | - description: 'Tag as latest (only applies when running from a tag)' |
11 | | - required: false |
12 | | - type: boolean |
13 | | - default: false |
14 | 8 |
|
15 | 9 | env: |
16 | 10 | REGISTRY: ghcr.io |
@@ -70,42 +64,31 @@ jobs: |
70 | 64 | BASE_TAG="${{ env.REGISTRY }}/${{ env.LOWER_CASE_REPO_NAME }}:${{ env.VERSION }}" |
71 | 65 | |
72 | 66 | # Determine if we should add latest tag |
73 | | - ADD_LATEST=false |
74 | | - |
75 | | - if [ "${{ github.event_name }}" == "release" ]; then |
76 | | - # Always add latest for published releases |
77 | | - ADD_LATEST=true |
78 | | - TRIGGER_INFO="published release" |
79 | | - elif [ "${{ github.event_name }}" == "workflow_dispatch" ]; then |
80 | | - if [ "${{ env.IS_TAG }}" == "true" ]; then |
81 | | - # Always add latest for manual dispatch from tags |
82 | | - ADD_LATEST=true |
83 | | - TRIGGER_INFO="manual dispatch from tag (auto-latest)" |
84 | | - else |
85 | | - TRIGGER_INFO="manual dispatch from branch (no latest)" |
86 | | - fi |
87 | | - fi |
88 | | - |
89 | | - if [ "$ADD_LATEST" == "true" ]; then |
| 67 | + if [ "${{ github.event_name }}" == "release" ] || [ "${{ env.IS_TAG }}" == "true" ]; then |
| 68 | + # Add latest for published releases OR manual dispatch from tags |
90 | 69 | TAGS="${BASE_TAG},${{ env.REGISTRY }}/${{ env.LOWER_CASE_REPO_NAME }}:latest" |
91 | 70 | echo "WILL_TAG_LATEST=true" >> $GITHUB_ENV |
| 71 | + |
| 72 | + if [ "${{ github.event_name }}" == "release" ]; then |
| 73 | + TRIGGER_INFO="published release" |
| 74 | + else |
| 75 | + TRIGGER_INFO="manual dispatch from tag (auto-latest)" |
| 76 | + fi |
92 | 77 | else |
| 78 | + # No latest for manual dispatch from branches |
93 | 79 | TAGS="${BASE_TAG}" |
94 | 80 | echo "WILL_TAG_LATEST=false" >> $GITHUB_ENV |
| 81 | + TRIGGER_INFO="manual dispatch from branch (no latest)" |
95 | 82 | fi |
96 | 83 | |
97 | 84 | echo "DOCKER_TAGS=${TAGS}" >> $GITHUB_ENV |
98 | 85 | echo "TRIGGER_INFO=${TRIGGER_INFO}" >> $GITHUB_ENV |
99 | | -
|
100 | | - - name: Extract metadata (tags, labels) for Docker |
101 | | - id: meta |
102 | | - uses: docker/metadata-action@v5 |
103 | | - with: |
104 | | - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} |
105 | | - tags: | |
106 | | - type=ref,event=branch |
107 | | - type=ref,event=tag |
108 | | - type=raw,value=latest,enable=${{ env.WILL_TAG_LATEST == 'true' }} |
| 86 | + |
| 87 | + # Debug output |
| 88 | + echo "🐛 DEBUG: BASE_TAG=${BASE_TAG}" |
| 89 | + echo "🐛 DEBUG: TAGS=${TAGS}" |
| 90 | + echo "🐛 DEBUG: IS_TAG=${{ env.IS_TAG }}" |
| 91 | + echo "🐛 DEBUG: WILL_TAG_LATEST=${WILL_TAG_LATEST}" |
109 | 92 |
|
110 | 93 | - name: Build and push Docker image |
111 | 94 | uses: docker/build-push-action@v5 |
|
0 commit comments