@@ -114,55 +114,48 @@ jobs:
114114 with :
115115 path : ~/.gradle/caches
116116 key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
117- - name : Extract DJL and DJL Serving versions from TOML
117+ - name : Set env vars for container build and tag
118118 id : get-versions
119119 run : |
120120 DJL_VERSION=$(awk -F '=' '/djl / {gsub(/ ?"/, "", $2); print $2}' gradle/libs.versions.toml)
121121 SERVING_VERSION=$(awk -F '=' '/serving / {gsub(/ ?"/, "", $2); print $2}' gradle/libs.versions.toml)
122122 echo "DJL_VERSION=$DJL_VERSION" >> $GITHUB_ENV
123- echo "SERVING_VERSION=$SERVING_VERSION" >> $GITHUB_ENV
124123 echo "DJL_VERSION=$DJL_VERSION" >> $GITHUB_OUTPUT
125- - name : Build release candidate docker image
126- if : ${{ inputs.mode == 'release' }}
127- working-directory : serving/docker
124+ echo "SERVING_VERSION=$SERVING_VERSION" >> $GITHUB_ENV
125+ mode=${{ inputs.mode }}
126+ if [[ "$mode" != "release" ]]; then
127+ export NIGHTLY="-nightly"
128+ echo "NIGHTLY=$NIGHTLY" >> $GITHUB_ENV
129+ ./gradlew --refresh-dependencies :serving:dockerDeb -Psnapshot
130+ export BUILD_VERSION_ARG_DJL="${DJL_VERSION}-SNAPSHOT"
131+ export BUILD_VERSION_ARG_SERVING="${SERVING_VERSION}-SNAPSHOT"
132+ else
133+ rm -rf serving/docker/distributions
134+ export BUILD_VERSION_ARG_DJL="${DJL_VERSION}-SNAPSHOT"
135+ export BUILD_VERSION_ARG_SERVING="${SERVING_VERSION}-SNAPSHOT"
136+ fi
137+ echo "BUILD_VERSION_ARG_DJL=$BUILD_VERSION_ARG_DJL" >> $GITHUB_ENV
138+ echo "BUILD_VERSION_ARG_SERVING=$BUILD_VERSION_ARG_SERVING" >> $GITHUB_ENV
139+ - name : Build docker image
128140 run : |
129- export BASE_RELEASE_VERSION="${{ env.SERVING_VERSION }}"
130141 export RELEASE_VERSION="${{ env.SERVING_VERSION }}-"
131- docker compose build --no-cache \
132- --build-arg djl_version=${{ env.DJL_VERSION }} \
133- --build-arg djl_serving_version=${{ env.SERVING_VERSION }} \
134- ${{ matrix.arch }}
135- - name : Build temp docker image
136- if : ${{ inputs.mode == '' || inputs.mode == 'temp' || inputs.mode == 'nightly' }}
137- run : |
138- ./gradlew --refresh-dependencies :serving:dockerDeb -Psnapshot
139142 cd serving/docker
140- export NIGHTLY="-nightly"
141- echo "NIGHTLY=$NIGHTLY" >> $GITHUB_ENV
142143 docker compose build --no-cache \
143- --build-arg djl_version=${{ env.DJL_VERSION }}-SNAPSHOT \
144- --build-arg djl_serving_version=${{ env.SERVING_VERSION }}-SNAPSHOT \
144+ --build-arg djl_version=${{ env.BUILD_VERSION_ARG_DJL }} \
145+ --build-arg djl_serving_version=${{ env.BUILD_VERSION_ARG_SERVING }} \
145146 ${{ matrix.arch }}
146147 - name : Tag and push temp image to ECR repo
147148 working-directory : serving/docker
148149 run : |
149150 ECR_REGION=$(echo "${{ env.AWS_ECR_REPO }}" | awk -F. '{print $4}')
150151 aws ecr get-login-password --region $ECR_REGION | docker login --username AWS --password-stdin ${{env.AWS_ECR_REPO}}
151- mode=${{ inputs.mode }}
152- if [[ "${{ inputs.mode }}" == "release" ]]; then
153- mode=${{ env.DJL_VERSION }}
154- fi
155- if [[ -z "${{ inputs.mode }}" ]]; then
156- mode="nightly"
157- fi
158- tempRunIdTag="${{ env.AWS_ECR_REPO }}:${{ matrix.arch }}-$mode-${GITHUB_RUN_ID}"
159- tempCommitTag="${{ env.AWS_ECR_REPO }}:${{ matrix.arch }}-$mode-${GITHUB_SHA}"
152+ baseDockerTag="${{ env.AWS_ECR_REPO }}:${{ env.SERVING_VERSION}}-${{ matrix.arch }}${{ env.NIGHTLY }}"
153+ tempRunIdTag="${baseDockerTag}-${GITHUB_RUN_ID}"
154+ tempCommitTag="${baseDockerTag}-${GITHUB_SHA}"
160155
161- docker tag ${{ env.DOCKER_HUB_REPO }}:${{ matrix.arch }}${{ env.NIGHTLY }} $tempRunIdTag
162- docker tag ${{ env.DOCKER_HUB_REPO }}:${{ matrix.arch }}${{ env.NIGHTLY }} $tempCommitTag
163- if [[ "$mode" == "nightly" ]]; then
164- docker tag ${{ env.DOCKER_HUB_REPO }}:${{ matrix.arch }}${{ env.NIGHTLY }} ${{ env.AWS_ECR_REPO }}:${{ matrix.arch }}-nightly
165- fi
156+ docker tag ${{ env.DOCKER_HUB_REPO }}:${{ env.SERVING_VERSION}}-${{ matrix.arch }}${{ env.NIGHTLY }} $baseDockerTag
157+ docker tag ${{ env.DOCKER_HUB_REPO }}:${{ env.SERVING_VERSION}}-${{ matrix.arch }}${{ env.NIGHTLY }} $tempRunIdTag
158+ docker tag ${{ env.DOCKER_HUB_REPO }}:${{ env.SERVING_VERSION}}-${{ matrix.arch }}${{ env.NIGHTLY }} $tempCommitTag
166159 time docker push --all-tags ${{ env.AWS_ECR_REPO }}
167160
168161 stop-runners :
0 commit comments