@@ -27,27 +27,39 @@ jobs:
27
27
- name : Lowercase repo name
28
28
run : echo "REPO_NAME_LOWER=$(echo '${{ github.repository }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
29
29
30
- - name : Set image tags
30
+ - name : Set image tags and cache reference
31
31
run : |
32
32
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
33
+ # Pour les releases (tags)
33
34
TAG=${GITHUB_REF#refs/tags/}
34
35
echo "IMAGE_TAGS=ghcr.io/${REPO_NAME_LOWER}:${TAG},ghcr.io/${REPO_NAME_LOWER}:latest" >> $GITHUB_ENV
36
+ echo "CACHE_REF=release" >> $GITHUB_ENV
37
+ echo "Build type: Release (tag: ${TAG})"
38
+ elif [[ "${GITHUB_REF}" == refs/heads/test/workflow ]]; then
39
+ # Pour la branche test/workflow spécifiquement
40
+ echo "IMAGE_TAGS=ghcr.io/${REPO_NAME_LOWER}:test-workflow" >> $GITHUB_ENV
41
+ echo "CACHE_REF=test-workflow" >> $GITHUB_ENV
42
+ echo "Build type: Test workflow branch"
35
43
elif [[ "${GITHUB_REF}" == refs/heads/* ]]; then
44
+ # Pour les autres branches (au cas où)
36
45
BRANCH_NAME=${GITHUB_REF#refs/heads/}
37
46
SAFE_BRANCH_NAME=${BRANCH_NAME//\//-}
38
47
echo "IMAGE_TAGS=ghcr.io/${REPO_NAME_LOWER}:${SAFE_BRANCH_NAME}" >> $GITHUB_ENV
48
+ echo "CACHE_REF=branch-${SAFE_BRANCH_NAME}" >> $GITHUB_ENV
49
+ echo "Build type: Other branch (${BRANCH_NAME})"
39
50
else
51
+ # Fallback
40
52
echo "IMAGE_TAGS=ghcr.io/${REPO_NAME_LOWER}:latest" >> $GITHUB_ENV
53
+ echo "CACHE_REF=default" >> $GITHUB_ENV
54
+ echo "Build type: Default"
41
55
fi
42
56
43
- - name : Set CACHE_REF based on Git ref
57
+ - name : Display cache configuration
44
58
run : |
45
- if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
46
- echo "CACHE_REF=release" >> $GITHUB_ENV
47
- else
48
- # Extrait le nom de la branche
49
- echo "CACHE_REF=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
50
- fi
59
+ echo "🚀 Cache configuration:"
60
+ echo " Cache reference: ${{ env.CACHE_REF }}"
61
+ echo " Image tags: ${{ env.IMAGE_TAGS }}"
62
+ echo " Git ref: ${GITHUB_REF}"
51
63
52
64
- name : Extract metadata
53
65
id : meta
@@ -67,10 +79,10 @@ jobs:
67
79
[worker.oci]
68
80
max-parallelism = 8
69
81
70
-
71
- - name : Check Docker cache
82
+ - name : Check existing Docker cache
72
83
run : |
73
- docker buildx du
84
+ echo "🔍 Checking existing cache for scope: ${{ env.CACHE_REF }}"
85
+ docker buildx du || true
74
86
75
87
- name : Build and push Docker image
76
88
uses : docker/build-push-action@v5
82
94
platforms : linux/amd64,linux/arm64
83
95
cache-from : type=gha,mode=max,scope=${{ env.CACHE_REF }}
84
96
cache-to : type=gha,mode=max,scope=${{ env.CACHE_REF }}
97
+
98
+ - name : Display build summary
99
+ run : |
100
+ echo "✅ Build completed successfully!"
101
+ echo " Images pushed: ${{ env.IMAGE_TAGS }}"
102
+ echo " Cache scope used: ${{ env.CACHE_REF }}"
0 commit comments