6565 if : ${{ env.SHOULD_UPDATE_PACKAGES == 1 || github.event.inputs.buildtype == 'prebuild' }}
6666 run : |
6767 BRANCH="${GITHUB_REF_NAME//\//-}"
68- repo="$DOCKER_ORG/$DOCKER_REPO_PRE:$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
68+ BRANCH_HASH="$(printf '%s' "$BRANCH" | sha256sum | cut -c1-8)"
69+ SAFE_BRANCH="${BRANCH:0:75}-$BRANCH_HASH"
70+ repo="$DOCKER_ORG/$DOCKER_REPO_PRE:$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
6971 mkdir -p ./ng-app/dist
7072 docker build -f './docker/planet/pre-builder-Dockerfile' -t $repo .
7173 docker images
7577 if : ${{ (github.ref == 'refs/heads/master' || env.IS_RELEASE == 'true') && (env.SHOULD_UPDATE_PACKAGES == 1 || github.event.inputs.buildtype == 'prebuild') }}
7678 run : |
7779 BRANCH="${GITHUB_REF_NAME//\//-}"
78- repo="$DOCKER_ORG/$DOCKER_REPO_PRE:$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
80+ BRANCH_HASH="$(printf '%s' "$BRANCH" | sha256sum | cut -c1-8)"
81+ SAFE_BRANCH="${BRANCH:0:75}-$BRANCH_HASH"
82+ repo="$DOCKER_ORG/$DOCKER_REPO_PRE:$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
7983 latestrepo="$DOCKER_ORG/$DOCKER_REPO_PRE:latest"
8084 docker tag $repo $latestrepo
8185 docker push $latestrepo
@@ -103,16 +107,20 @@ jobs:
103107 continue-on-error : true # If there are no package changes, the commit specific image will not be built so an error is expected here
104108 run : |
105109 BRANCH="${GITHUB_REF_NAME//\//-}"
106- prerepo="$DOCKER_ORG/$DOCKER_REPO_PRE:$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
110+ BRANCH_HASH="$(printf '%s' "$BRANCH" | sha256sum | cut -c1-8)"
111+ SAFE_BRANCH="${BRANCH:0:75}-$BRANCH_HASH"
112+ prerepo="$DOCKER_ORG/$DOCKER_REPO_PRE:$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
107113 latestprerepo="$DOCKER_ORG/$DOCKER_REPO_PRE:latest"
108114 docker pull $prerepo
109115 docker tag $prerepo $latestprerepo
110116
111117 - name : Build single language build
112118 run : |
113119 BRANCH="${GITHUB_REF_NAME//\//-}"
114- repo="$DOCKER_ORG/$DOCKER_REPO_LANG:$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
115- branchrepo="$DOCKER_ORG/$DOCKER_REPO_LANG:$PLANET_VERSION-$BRANCH"
120+ BRANCH_HASH="$(printf '%s' "$BRANCH" | sha256sum | cut -c1-8)"
121+ SAFE_BRANCH="${BRANCH:0:75}-$BRANCH_HASH"
122+ repo="$DOCKER_ORG/$DOCKER_REPO_LANG:$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
123+ branchrepo="$DOCKER_ORG/$DOCKER_REPO_LANG:$PLANET_VERSION-$SAFE_BRANCH"
116124 export NODE_OPTIONS=--max_old_space_size=4096
117125 mkdir -p ./ng-app/dist
118126 docker build -f './docker/planet/builder-Dockerfile' -t $repo .
@@ -132,7 +140,13 @@ jobs:
132140
133141 strategy :
134142 matrix :
135- arch : [ amd64, arm, arm64 ]
143+ include :
144+ - arch : amd64
145+ base_image : treehouses/nginx
146+ - arch : arm
147+ base_image : treehouses/nginx-tags:arm
148+ - arch : arm64
149+ base_image : treehouses/nginx-tags:arm64
136150
137151 steps :
138152 - name : Checkout Code
@@ -144,12 +158,14 @@ jobs:
144158 - name : Build image
145159 run : |
146160 BRANCH="${GITHUB_REF_NAME//\//-}"
147- repo="$DOCKER_ORG/$DOCKER_REPO_TAG:${{ matrix.arch }}-$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
148- branchrepo="$DOCKER_ORG/$DOCKER_REPO_TAG:${{ matrix.arch }}-$PLANET_VERSION-$BRANCH"
161+ BRANCH_HASH="$(printf '%s' "$BRANCH" | sha256sum | cut -c1-8)"
162+ SAFE_BRANCH="${BRANCH:0:75}-$BRANCH_HASH"
163+ repo="$DOCKER_ORG/$DOCKER_REPO_TAG:${{ matrix.arch }}-$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
164+ branchrepo="$DOCKER_ORG/$DOCKER_REPO_TAG:${{ matrix.arch }}-$PLANET_VERSION-$SAFE_BRANCH"
149165 LANGUAGES=( 'eng' 'ara' 'fra' 'spa' 'nep' 'som')
150166 mkdir -p ./ng-app/dist
151167 mkdir -p ./ng-app/langbuild
152- docker create --name langbuild "$DOCKER_ORG/$DOCKER_REPO_LANG:$PLANET_VERSION-$BRANCH "
168+ docker create --name langbuild "$DOCKER_ORG/$DOCKER_REPO_LANG:$PLANET_VERSION-$SAFE_BRANCH "
153169 docker export langbuild > langbuild.tar
154170 tar -xf langbuild.tar -C ./ng-app/langbuild
155171 for LANGUAGE in "${LANGUAGES[@]}"; do
@@ -166,7 +182,10 @@ jobs:
166182 mv ./ng-app/dist/$lang2 ./ng-app/dist/$LANGUAGE
167183 done
168184 docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
169- docker build -f './docker/planet/${{ matrix.arch }}-Dockerfile' -t $repo .
185+ docker build \
186+ -f './docker/planet/Dockerfile' \
187+ --build-arg BASE_IMAGE='${{ matrix.base_image }}' \
188+ -t $repo .
170189 docker images
171190 docker tag $repo $branchrepo
172191 docker push $repo
@@ -187,10 +206,12 @@ jobs:
187206 - name : Multiarch Deploy
188207 run : |
189208 BRANCH="${GITHUB_REF_NAME//\//-}"
190- manifesttag="$DOCKER_ORG/$DOCKER_REPO_TAG:$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
191- amd64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:amd64-$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
192- armtag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm-$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
193- arm64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm64-$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
209+ BRANCH_HASH="$(printf '%s' "$BRANCH" | sha256sum | cut -c1-8)"
210+ SAFE_BRANCH="${BRANCH:0:75}-$BRANCH_HASH"
211+ manifesttag="$DOCKER_ORG/$DOCKER_REPO_TAG:$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
212+ amd64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:amd64-$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
213+ armtag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm-$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
214+ arm64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm64-$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
194215 docker manifest create $manifesttag $amd64tag $armtag $arm64tag
195216 docker manifest annotate $manifesttag $amd64tag --os linux --arch amd64
196217 docker manifest annotate $manifesttag $armtag --os linux --arch arm
@@ -201,9 +222,11 @@ jobs:
201222 if : ${{ github.event_name == 'release' }}
202223 run : |
203224 BRANCH="${GITHUB_REF_NAME//\//-}"
204- amd64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:amd64-$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
205- armtag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm-$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
206- arm64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm64-$PLANET_VERSION-$BRANCH-${GITHUB_SHA::8}"
225+ BRANCH_HASH="$(printf '%s' "$BRANCH" | sha256sum | cut -c1-8)"
226+ SAFE_BRANCH="${BRANCH:0:75}-$BRANCH_HASH"
227+ amd64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:amd64-$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
228+ armtag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm-$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
229+ arm64tag="$DOCKER_ORG/$DOCKER_REPO_TAG:arm64-$PLANET_VERSION-$SAFE_BRANCH-${GITHUB_SHA::8}"
207230 for tag in "$DOCKER_ORG/$DOCKER_REPO:$PLANET_VERSION" "$DOCKER_ORG/$DOCKER_REPO:latest"; do
208231 docker manifest create $tag $amd64tag $armtag $arm64tag
209232 docker manifest annotate $tag $amd64tag --os linux --arch amd64
0 commit comments