Skip to content

Commit 9750b9c

Browse files
committed
add workflow for docker release
1 parent 9264669 commit 9750b9c

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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

Comments
 (0)