1+ name : Release to DockerHub (snapshot, stable)
2+
3+ on :
4+ pull_request :
5+ push :
6+ branches :
7+ - master
8+ jobs :
9+ docker :
10+ needs : release
11+ runs-on : ubuntu-latest
12+ steps :
13+ - uses : actions/checkout@v4
14+ with :
15+ ref : ${{ github.event.inputs.releaseVersion }}
16+ - name : Set up QEMU
17+ uses : docker/setup-qemu-action@v3
18+ - name : Set up Docker Buildx
19+ uses : docker/setup-buildx-action@v3
20+ - name : Login to DockerHub
21+ uses : docker/login-action@v3
22+ with :
23+ username : ${{ secrets.DOCKER_HUB_USERNAME }}
24+ password : ${{ secrets.DOCKER_HUB_PASSWORD }}
25+ - name : Setup variables
26+ run : |
27+ export cli_version=$(\./mvnw -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[');
28+ export build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ");
29+ export DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online
30+ export DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli
31+ - name : Publish openapi-generator-online snapshot version
32+ if : github.ref_type != 'tag' # not tag (release)
33+ run : |
34+ docker buildx create --use
35+ docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online;
36+ - name : Publish openapi-generator-online stable version
37+ if : github.ref_type == 'tag' # tagged (release)
38+ run : |
39+ docker buildx create --use
40+ docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME:latest -t $DOCKER_GENERATOR_IMAGE_NAME:${{ github.ref_name }} -t $DOCKER_GENERATOR_IMAGE_NAME -t $DOCKER_GENERATOR_IMAGE_NAME:latest-release ./modules/openapi-generator-online;
0 commit comments