Skip to content

Commit 108275a

Browse files
authored
[docker] Tag latest-release for stable latest tagging (#6573)
1 parent 7ea6c35 commit 108275a

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Docker Tag latest-release
2+
3+
# Run every couple of days
4+
on:
5+
schedule:
6+
- cron: "* */48 * * *"
7+
8+
jobs:
9+
# This pulls all containers for the last known release tag, and tags as latest-release or x-latest-release for shared repo
10+
tagLatestRelease:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
15+
# Pull the code so we have git metadata
16+
- name: Checkout code
17+
uses: actions/checkout@v2
18+
19+
# This action will "unshallow" so we have all tag info
20+
- name: Get latest tag
21+
id: tagger
22+
uses: jimschubert/query-tag-action@v1
23+
with:
24+
include: 'v*'
25+
exclude: '*-rc*'
26+
commit-ish: 'HEAD~'
27+
28+
- name: DockerHub Login
29+
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
30+
31+
# Tags openapitools/openapi-generator-online, which is an automated build
32+
- name: "Tag openapi-generator-online:x"
33+
id: tag-openapi-generator-online
34+
run: |
35+
echo Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
36+
docker pull openapitools/openapi-generator-online:${{steps.tagger.outputs.tag}}
37+
docker tag openapitools/openapi-generator-online:${{steps.tagger.outputs.tag}} openapitools/openapi-generator-online:latest-release
38+
docker push openapitools/openapi-generator-online:latest-release
39+
40+
# Tags openapitools/openapi-generator's CLI image (this repo holds CLI + Online via tag prefix)
41+
- name: "Tag openapi-generator:cli-x"
42+
id: tag-cli
43+
run: |
44+
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
45+
docker pull openapitools/openapi-generator:cli-${{steps.tagger.outputs.tag}}
46+
docker tag openapitools/openapi-generator:cli-${{steps.tagger.outputs.tag}} openapitools/openapi-generator:cli-latest-release
47+
docker push openapitools/openapi-generator:cli-latest-release
48+
49+
# Tags openapitools/openapi-generator's ONLINE image (this repo holds CLI + Online via tag prefix)
50+
- name: "Tag openapi-generator:online-x"
51+
id: tag-online
52+
run: |
53+
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
54+
docker pull openapitools/openapi-generator:online-${{steps.tagger.outputs.tag}}
55+
docker tag openapitools/openapi-generator:online-${{steps.tagger.outputs.tag}} openapitools/openapi-generator:online-latest-release
56+
docker push openapitools/openapi-generator:online-latest-release
57+
58+
# Clean up docker credentials/configs/etc.
59+
- name: Cleanup
60+
if: always()
61+
run: |
62+
rm -f ${HOME}/.docker/config.json

0 commit comments

Comments
 (0)