forked from loafle/openapi-generator-original
[docker] Tag latest-release for stable latest tagging (#6573)
This commit is contained in:
62
.github/workflows/docker-tag-latest-release.yml
vendored
Normal file
62
.github/workflows/docker-tag-latest-release.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Docker Tag latest-release
|
||||
|
||||
# Run every couple of days
|
||||
on:
|
||||
schedule:
|
||||
- cron: "* */48 * * *"
|
||||
|
||||
jobs:
|
||||
# This pulls all containers for the last known release tag, and tags as latest-release or x-latest-release for shared repo
|
||||
tagLatestRelease:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
|
||||
# Pull the code so we have git metadata
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# This action will "unshallow" so we have all tag info
|
||||
- name: Get latest tag
|
||||
id: tagger
|
||||
uses: jimschubert/query-tag-action@v1
|
||||
with:
|
||||
include: 'v*'
|
||||
exclude: '*-rc*'
|
||||
commit-ish: 'HEAD~'
|
||||
|
||||
- name: DockerHub Login
|
||||
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
|
||||
|
||||
# Tags openapitools/openapi-generator-online, which is an automated build
|
||||
- name: "Tag openapi-generator-online:x"
|
||||
id: tag-openapi-generator-online
|
||||
run: |
|
||||
echo Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
|
||||
docker pull openapitools/openapi-generator-online:${{steps.tagger.outputs.tag}}
|
||||
docker tag openapitools/openapi-generator-online:${{steps.tagger.outputs.tag}} openapitools/openapi-generator-online:latest-release
|
||||
docker push openapitools/openapi-generator-online:latest-release
|
||||
|
||||
# Tags openapitools/openapi-generator's CLI image (this repo holds CLI + Online via tag prefix)
|
||||
- name: "Tag openapi-generator:cli-x"
|
||||
id: tag-cli
|
||||
run: |
|
||||
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
|
||||
docker pull openapitools/openapi-generator:cli-${{steps.tagger.outputs.tag}}
|
||||
docker tag openapitools/openapi-generator:cli-${{steps.tagger.outputs.tag}} openapitools/openapi-generator:cli-latest-release
|
||||
docker push openapitools/openapi-generator:cli-latest-release
|
||||
|
||||
# Tags openapitools/openapi-generator's ONLINE image (this repo holds CLI + Online via tag prefix)
|
||||
- name: "Tag openapi-generator:online-x"
|
||||
id: tag-online
|
||||
run: |
|
||||
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
|
||||
docker pull openapitools/openapi-generator:online-${{steps.tagger.outputs.tag}}
|
||||
docker tag openapitools/openapi-generator:online-${{steps.tagger.outputs.tag}} openapitools/openapi-generator:online-latest-release
|
||||
docker push openapitools/openapi-generator:online-latest-release
|
||||
|
||||
# Clean up docker credentials/configs/etc.
|
||||
- name: Cleanup
|
||||
if: always()
|
||||
run: |
|
||||
rm -f ${HOME}/.docker/config.json
|
||||
Reference in New Issue
Block a user