4949 - name : Set Git branch variables
5050 run : |
5151 GIT_BRANCH_NAME=${GITHUB_REF#refs/heads/}
52+ # Sanitize branch name for Docker tags (replace invalid characters with hyphens and convert to lowercase)
53+ DOCKER_TAG_BRANCH=$(echo "${GIT_BRANCH_NAME}" | sed 's/[^a-zA-Z0-9._-]/-/g' | tr '[:upper:]' '[:lower:]')
5254 GIT_SHA=${{ github.sha }}
5355 GIT_SHORT_SHA=${GIT_SHA::7}
5456 echo "GIT_BRANCH_NAME=${GIT_BRANCH_NAME}" >> $GITHUB_ENV
57+ echo "DOCKER_TAG_BRANCH=${DOCKER_TAG_BRANCH}" >> $GITHUB_ENV
5558 echo "GIT_SHA=${GIT_SHA}" >> $GITHUB_ENV
5659 echo "GIT_SHORT_SHA=${GIT_SHORT_SHA}" >> $GITHUB_ENV
5760
@@ -113,8 +116,8 @@ jobs:
113116 --allow=fs.read=/home/runner \
114117 --set "base.args.GIT_BRANCH_NAME=${GIT_BRANCH_NAME}" \
115118 --set "base.output=type=registry" \
116- --set "base.tags=${IMAGE_NAME}:${GIT_BRANCH_NAME }-latest" \
117- --set "base.tags=${IMAGE_NAME}:${GIT_BRANCH_NAME }-git-${GIT_SHORT_SHA}" \
119+ --set "base.tags=${IMAGE_NAME}:${DOCKER_TAG_BRANCH }-latest" \
120+ --set "base.tags=${IMAGE_NAME}:${DOCKER_TAG_BRANCH }-git-${GIT_SHORT_SHA}" \
118121 $([ "${GIT_BRANCH_NAME}" = "main" ] && echo "--set base.tags=${IMAGE_NAME}:latest") \
119122 --set "base.cache-from=type=registry,ref=${IMAGE_NAME}:buildcache" \
120123 --set "base.cache-to=type=registry,ref=${IMAGE_NAME}:buildcache,mode=max" \
@@ -125,21 +128,21 @@ jobs:
125128 - name : Generate Docker Compose files
126129 run : |
127130 python3 brev/generate-tagged-docker-composes.py \
128- --image-tag "${GIT_BRANCH_NAME }-git-${GIT_SHORT_SHA}" \
131+ --image-tag "${DOCKER_TAG_BRANCH }-git-${GIT_SHORT_SHA}" \
129132 --output-dir "artifacts/commit-specific" \
130133 --tutorial "${TUTORIAL_NAME}" \
131134 --type all
132135
133136 python3 brev/generate-tagged-docker-composes.py \
134- --image-tag "${GIT_BRANCH_NAME }-latest" \
137+ --image-tag "${DOCKER_TAG_BRANCH }-latest" \
135138 --output-dir "artifacts/branch-latest" \
136139 --tutorial "${TUTORIAL_NAME}" \
137140 --type all
138141
139142 - name : Upload commit-specific Docker Compose artifacts
140143 uses : actions/upload-artifact@v4
141144 with :
142- name : docker-compose-${{ env.TUTORIAL_NAME }}-${{ env.GIT_BRANCH_NAME }}-git-${{ env.GIT_SHORT_SHA }}
145+ name : docker-compose-${{ env.TUTORIAL_NAME }}-${{ env.DOCKER_TAG_BRANCH }}-git-${{ env.GIT_SHORT_SHA }}
143146 path : artifacts/commit-specific/${{ env.TUTORIAL_NAME }}/
144147 retention-days : 30
145148
0 commit comments