Skip to content

Commit af59cf4

Browse files
committed
Add tag release image tagging.
Signed-off-by: Humair Khan <[email protected]>
1 parent 7efc5c3 commit af59cf4

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Image push per Github Tag
2+
3+
# This GitHub action activates whenever a new tag is created on the repo under "opendatahub-io"
4+
# and creates a copy of the image of the associated commit hash with the
5+
# appropriate tag name.
6+
7+
run-name: Creating new tag in quay based on pushed tag in Github.
8+
on:
9+
push:
10+
tags:
11+
- '*'
12+
workflow_dispatch:
13+
env:
14+
IMAGE_SERVER: ds-pipelines-api-server
15+
IMAGE_UI: ds-pipelines-frontend
16+
IMAGE_CACHE: ds-pipelines-cacheserver
17+
IMAGE_PA: ds-pipelines-persistenceagent
18+
IMAGE_SWF: ds-pipelines-scheduledworkflow
19+
IMAGE_VC: ds-pipelines-viewercontroller
20+
IMAGE_ARTIFACT: ds-pipelines-artifact-manager
21+
IMAGE_MLMD_WRITER: ds-pipelines-metadata-writer
22+
IMAGE_MLMD_ENVOY: ds-pipelines-metadata-envoy
23+
IMAGE_MLMD_GRPC: ds-pipelines-metadata-grpc
24+
jobs:
25+
copy-tag-to-quay:
26+
runs-on: ubuntu-latest
27+
if: github.repository == 'opendatahub-io/data-science-pipelines'
28+
steps:
29+
- name: Git checkout
30+
uses: actions/checkout@v3
31+
with:
32+
fetch-depth: '0'
33+
- name: Install skopeo
34+
shell: bash
35+
run: |
36+
sudo apt-get -y update
37+
sudo apt-get -y install skopeo
38+
- name: Login to quay.io
39+
shell: bash
40+
env:
41+
QUAY_ROBOT_USERNAME: ${{ secrets.QUAY_ROBOT_USERNAME }}
42+
QUAY_ROBOT_TOKEN: ${{ secrets.QUAY_ROBOT_TOKEN }}
43+
run: |
44+
skopeo login quay.io -u ${QUAY_ROBOT_USERNAME} -p ${QUAY_ROBOT_TOKEN}
45+
- name: Get latest tag name
46+
id: tag
47+
run: echo "tag=$(git describe --tags --abbrev=0)" >> ${GITHUB_OUTPUT}
48+
- name: Get latest tag hash
49+
id: hash
50+
run: echo "hash=$(git rev-parse --short ${{ steps.tag.outputs.tag }} )" >> ${GITHUB_OUTPUT}
51+
- name: Create new tag
52+
shell: bash
53+
env:
54+
TAG: ${{ steps.tag.outputs.tag }}
55+
HASH: ${{ steps.hash.outputs.hash }}
56+
run: |
57+
skopeo copy docker://${IMAGE_SERVER}:main-${{ env.HASH }} docker://${IMAGE_SERVER}:${{ env.TAG }}
58+
skopeo copy docker://${IMAGE_UI}:main-${{ env.HASH }} docker://${IMAGE_UI}:${{ env.TAG }}
59+
skopeo copy docker://${IMAGE_CACHE}:main-${{ env.HASH }} docker://${IMAGE_CACHE}:${{ env.TAG }}
60+
skopeo copy docker://${IMAGE_PA}:main-${{ env.HASH }} docker://${IMAGE_PA}:${{ env.TAG }}
61+
skopeo copy docker://${IMAGE_SWF}:main-${{ env.HASH }} docker://${IMAGE_SWF}:${{ env.TAG }}
62+
skopeo copy docker://${IMAGE_VC}:main-${{ env.HASH }} docker://${IMAGE_VC}:${{ env.TAG }}
63+
skopeo copy docker://${IMAGE_ARTIFACT}:main-${{ env.HASH }} docker://${IMAGE_ARTIFACT}:${{ env.TAG }}
64+
skopeo copy docker://${IMAGE_MLMD_WRITER}:main-${{ env.HASH }} docker://${IMAGE_MLMD_WRITER}:${{ env.TAG }}
65+
skopeo copy docker://${IMAGE_MLMD_ENVOY}:main-${{ env.HASH }} docker://${IMAGE_MLMD_ENVOY}:${{ env.TAG }}
66+
skopeo copy docker://${IMAGE_MLMD_GRPC}:main-${{ env.HASH }} docker://${IMAGE_MLMD_GRPC}:${{ env.TAG }}
67+
- name: Create latest tag
68+
shell: bash
69+
env:
70+
HASH: ${{ steps.hash.outputs.hash }}
71+
run: |
72+
skopeo copy docker://${IMAGE_SERVER}:main-${{ env.HASH }} docker://${IMAGE_SERVER}:latest
73+
skopeo copy docker://${IMAGE_UI}:main-${{ env.HASH }} docker://${IMAGE_UI}:latest
74+
skopeo copy docker://${IMAGE_CACHE}:main-${{ env.HASH }} docker://${IMAGE_CACHE}:latest
75+
skopeo copy docker://${IMAGE_PA}:main-${{ env.HASH }} docker://${IMAGE_PA}:latest
76+
skopeo copy docker://${IMAGE_SWF}:main-${{ env.HASH }} docker://${IMAGE_SWF}:latest
77+
skopeo copy docker://${IMAGE_VC}:main-${{ env.HASH }} docker://${IMAGE_VC}:latest
78+
skopeo copy docker://${IMAGE_ARTIFACT}:main-${{ env.HASH }} docker://${IMAGE_ARTIFACT}:latest
79+
skopeo copy docker://${IMAGE_MLMD_WRITER}:main-${{ env.HASH }} docker://${IMAGE_MLMD_WRITER}:latest
80+
skopeo copy docker://${IMAGE_MLMD_ENVOY}:main-${{ env.HASH }} docker://${IMAGE_MLMD_ENVOY}:latest
81+
skopeo copy docker://${IMAGE_MLMD_GRPC}:main-${{ env.HASH }} docker://${IMAGE_MLMD_GRPC}:latest

0 commit comments

Comments
 (0)