Skip to content

Commit 7a8eaad

Browse files
committed
tag with version number
1 parent a63c70c commit 7a8eaad

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

.github/workflows/docker-build.yaml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
name: Build and Run Docker Image
22

33
on:
4+
schedule:
5+
# Refresh monthly to pick up base image updates
6+
- cron: '0 0 1 * *'
47
push:
58
branches:
6-
- 'ci' # TODO: Trigger on push to release branches
9+
- main
10+
- ci
711

812
jobs:
913
build:
1014
runs-on: ubuntu-latest
1115
outputs:
1216
DOCKER_IMAGE_NAME: ${{ steps.build-image-name.outputs.DOCKER_IMAGE_NAME }}
17+
VERSION: ${{ steps.build-image-name.outputs.VERSION }}
1318
CODELINE: ${{ steps.build-image-name.outputs.CODELINE }}
1419
INSTANCE_NAME: ${{ steps.build-image-name.outputs.INSTANCE_NAME }}
1520
steps:
@@ -18,11 +23,20 @@ jobs:
1823

1924
- name: Build Image Name
2025
id: build-image-name
26+
# TODO: going to both ENV and OUTPUTS is probably redundant
2127
run: |
2228
echo DOCKER_IMAGE_NAME=devdull/$(echo ${{ github.event.repository.name }} | tr '[A-Z]' '[a-z]') | tee -a $GITHUB_ENV | tee -a $GITHUB_OUTPUT
2329
echo CODELINE=$(echo ${{ github.ref_name }} | tr '[A-Z]' '[a-z]') | tee -a $GITHUB_ENV | tee -a $GITHUB_OUTPUT
2430
echo INSTANCE_NAME=${{ github.ref_name }}_InT | tee -a $GITHUB_ENV | tee -a $GITHUB_OUTPUT
2531
32+
- name: Set Version
33+
run: |
34+
version=$(cat pyterrabacktyl.py | grep __version__ | tr -d "[a-zA-Z ='_]")
35+
echo "VERSION=${version}" | tee -a $GITHUB_ENV | tee -a $GITHUB_OUTPUT
36+
if [ github.ref_name != 'main' ]; then
37+
echo "CODELINE=${{ github.ref_name }}_${version}" | tee -a $GITHUB_ENV | tee -a $GITHUB_OUTPUT
38+
fi
39+
2640
- name: Build Docker Image
2741
run: |
2842
docker build . --file Dockerfile --tag ${{ env.DOCKER_IMAGE_NAME }}:${{ env.CODELINE }}
@@ -183,17 +197,18 @@ jobs:
183197
- name: Docker Login
184198
run: |
185199
echo '${{ secrets.DOCKERHUB_PASSWORD }}' | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
186-
echo '## Pushed image to DockerHub' >> $GITHUB_STEP_SUMMARY
200+
echo '## Push image to DockerHub (v${{ needs.build.outputs.VERSION }})' >> $GITHUB_STEP_SUMMARY
187201
188202
- name: Tag Docker Image
189203
if: github.ref_name != 'main'
190204
run: |
191-
docker push ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }}
205+
echo docker push ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }}
192206
echo "${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }}" >> $GITHUB_STEP_SUMMARY
193207
194208
- name: Tag and Push Latest
195209
if: github.ref_name == 'main'
196210
run: |
197211
docker tag ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }} ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }} ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:latest
198-
docker push ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:latest
212+
docker tag ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }} ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }} ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.VERSION }}
213+
echo docker push ${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:latest
199214
echo "${{ needs.build.outputs.DOCKER_IMAGE_NAME }}:${{ needs.build.outputs.CODELINE }}" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)