Skip to content

Commit 194cc4a

Browse files
committed
feat: remove push on dockerhub when not a tag
1 parent 9dabe07 commit 194cc4a

File tree

3 files changed

+71
-11
lines changed

3 files changed

+71
-11
lines changed

.github/workflows/docker-build.yml

Lines changed: 52 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,22 @@ jobs:
3434
AGENT_VERSION=$(docker run --rm temp-version cat /tmp/agent_version.txt)
3535
echo "agent-version=$AGENT_VERSION" >> $GITHUB_OUTPUT
3636
echo "Azure DevOps Agent Version: $AGENT_VERSION"
37+
38+
- name: Generate Build Version
39+
id: build-version
40+
run: |
41+
# Générer version de build: 1.0.GITHUB_RUN_NUMBER
42+
BUILD_VERSION="1.0.${{ github.run_number }}"
43+
echo "build-version=$BUILD_VERSION" >> $GITHUB_OUTPUT
44+
echo "Build Version: $BUILD_VERSION"
45+
46+
# Version combinée: agent-version-build-version
47+
COMBINED_VERSION="${{ steps.agent-version.outputs.agent-version }}-$BUILD_VERSION"
48+
echo "combined-version=$COMBINED_VERSION" >> $GITHUB_OUTPUT
49+
echo "Combined Version: $COMBINED_VERSION"
3750
3851
- name: Log in to Docker Hub
39-
if: github.event_name != 'pull_request'
52+
if: startsWith(github.ref, 'refs/tags/')
4053
uses: docker/login-action@v3
4154
with:
4255
registry: ${{ env.REGISTRY }}
@@ -54,6 +67,7 @@ jobs:
5467
type=semver,pattern={{version}}
5568
type=semver,pattern={{major}}.{{minor}}
5669
type=sha,prefix=sha-
70+
type=raw,value=${{ steps.build-version.outputs.combined-version }}
5771
type=raw,value=${{ steps.agent-version.outputs.agent-version }}
5872
type=raw,value=agent-${{ steps.agent-version.outputs.agent-version }}
5973
type=raw,value=latest,enable={{is_default_branch}}
@@ -63,14 +77,23 @@ jobs:
6377
with:
6478
context: .
6579
platforms: linux/amd64,linux/arm64,linux/arm/v7
66-
push: ${{ github.event_name != 'pull_request' }}
80+
push: ${{ startsWith(github.ref, 'refs/tags/') }}
6781
tags: ${{ steps.meta.outputs.tags }}
6882
labels: ${{ steps.meta.outputs.labels }}
6983
build-args: |
7084
INSTALL_AWS_SSM=true
7185
cache-from: type=gha
7286
cache-to: type=gha,mode=max
7387

88+
- name: Build Info
89+
run: |
90+
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
91+
echo "✅ Images will be pushed to Docker Hub (Tag detected: ${{ github.ref }})"
92+
else
93+
echo "ℹ️ Images built but NOT pushed to Docker Hub (Branch: ${{ github.ref }})"
94+
echo "💡 Create a tag (git tag v1.0.0 && git push --tags) to publish to Docker Hub"
95+
fi
96+
7497
- name: Test Docker image
7598
if: github.event_name == 'pull_request'
7699
run: |
@@ -92,15 +115,34 @@ jobs:
92115
echo "| Image | \`${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}\` |" >> $GITHUB_STEP_SUMMARY
93116
echo "| Tags | \`${{ steps.meta.outputs.tags }}\` |" >> $GITHUB_STEP_SUMMARY
94117
echo "| Azure DevOps Agent | \`${{ steps.agent-version.outputs.agent-version }}\` |" >> $GITHUB_STEP_SUMMARY
118+
echo "| Build Version | \`${{ steps.build-version.outputs.build-version }}\` |" >> $GITHUB_STEP_SUMMARY
119+
echo "| Combined Version | \`${{ steps.build-version.outputs.combined-version }}\` |" >> $GITHUB_STEP_SUMMARY
95120
echo "| Platforms | linux/amd64, linux/arm64, linux/arm/v7 |" >> $GITHUB_STEP_SUMMARY
96121
echo "| AWS SSM | ✅ Enabled |" >> $GITHUB_STEP_SUMMARY
97122
echo "| Registry | Docker Hub (docker.io) |" >> $GITHUB_STEP_SUMMARY
123+
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
124+
echo "| Published | ✅ **Published to Docker Hub** |" >> $GITHUB_STEP_SUMMARY
125+
else
126+
echo "| Published | ⚠️ **Built only (not published)** |" >> $GITHUB_STEP_SUMMARY
127+
fi
98128
echo "" >> $GITHUB_STEP_SUMMARY
99-
echo "### 📦 Usage" >> $GITHUB_STEP_SUMMARY
100-
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
101-
echo "# Latest image" >> $GITHUB_STEP_SUMMARY
102-
echo "docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" >> $GITHUB_STEP_SUMMARY
103-
echo "" >> $GITHUB_STEP_SUMMARY
104-
echo "# Specific agent version" >> $GITHUB_STEP_SUMMARY
105-
echo "docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.agent-version.outputs.agent-version }}" >> $GITHUB_STEP_SUMMARY
106-
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
129+
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
130+
echo "### 📦 Usage" >> $GITHUB_STEP_SUMMARY
131+
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
132+
echo "# Latest image" >> $GITHUB_STEP_SUMMARY
133+
echo "docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" >> $GITHUB_STEP_SUMMARY
134+
echo "" >> $GITHUB_STEP_SUMMARY
135+
echo "# Specific combined version (agent-build)" >> $GITHUB_STEP_SUMMARY
136+
echo "docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.build-version.outputs.combined-version }}" >> $GITHUB_STEP_SUMMARY
137+
echo "" >> $GITHUB_STEP_SUMMARY
138+
echo "# Specific agent version" >> $GITHUB_STEP_SUMMARY
139+
echo "docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.agent-version.outputs.agent-version }}" >> $GITHUB_STEP_SUMMARY
140+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
141+
else
142+
echo "### 🏷️ To Publish" >> $GITHUB_STEP_SUMMARY
143+
echo "Create a tag to publish to Docker Hub:" >> $GITHUB_STEP_SUMMARY
144+
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
145+
echo "git tag v1.0.0" >> $GITHUB_STEP_SUMMARY
146+
echo "git push --tags" >> $GITHUB_STEP_SUMMARY
147+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
148+
fi

.github/workflows/release.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,19 @@ jobs:
3232
echo "agent-version=$AGENT_VERSION" >> $GITHUB_OUTPUT
3333
echo "Azure DevOps Agent Version: $AGENT_VERSION"
3434
35+
- name: Generate Build Version
36+
id: build-version
37+
run: |
38+
# Pour les releases, utiliser le tag comme version de build
39+
BUILD_VERSION="${GITHUB_REF#refs/tags/}"
40+
echo "build-version=$BUILD_VERSION" >> $GITHUB_OUTPUT
41+
echo "Build Version: $BUILD_VERSION"
42+
43+
# Version combinée: agent-version-build-version
44+
COMBINED_VERSION="${{ steps.agent-version.outputs.agent-version }}-$BUILD_VERSION"
45+
echo "combined-version=$COMBINED_VERSION" >> $GITHUB_OUTPUT
46+
echo "Combined Version: $COMBINED_VERSION"
47+
3548
- name: Log in to Docker Hub
3649
uses: docker/login-action@v3
3750
with:
@@ -53,6 +66,7 @@ jobs:
5366
type=semver,pattern={{major}}.{{minor}}
5467
type=semver,pattern={{major}}
5568
type=raw,value=latest
69+
type=raw,value=${{ steps.build-version.outputs.combined-version }}
5670
type=raw,value=${{ steps.agent-version.outputs.agent-version }}
5771
type=raw,value=agent-${{ steps.agent-version.outputs.agent-version }}
5872
@@ -78,6 +92,7 @@ jobs:
7892
### 🎯 Agent Information
7993
- **Azure DevOps Agent Version**: \`${{ steps.agent-version.outputs.agent-version }}\`
8094
- **Container Version**: \`${{ steps.version.outputs.VERSION }}\`
95+
- **Combined Version**: \`${{ steps.build-version.outputs.combined-version }}\`
8196
8297
### 📦 Container Images
8398
- **AMD64**: \`${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}-amd64\`
@@ -98,6 +113,9 @@ jobs:
98113
# Par version du conteneur
99114
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}
100115
116+
# Par version combinée (agent-container)
117+
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.build-version.outputs.combined-version }}
118+
101119
# Par version de l'agent Azure DevOps
102120
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.agent-version.outputs.agent-version }}
103121
\`\`\`

test-aws-ssm.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,4 @@ echo "⚡ Performance: ~50ms vs ~1-2s (AWS CLI)"
7575
echo "🔒 Sécurité: Tests automatisés + checksums SHA256"
7676
echo "💎 Syntaxe simple: aws-ssm <secret-id> [region]"
7777
echo
78-
echo "✅ Test terminé !"
78+
echo "✅ Test terminé !"

0 commit comments

Comments
 (0)