1
+ name : Build And Push Docker Release 3.0
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ branches : [ "3.0.0" ]
6
+ inputs :
7
+ tag :
8
+ description : tag/version to release
9
+ required : true
10
+ jobs :
11
+ build_push_docker_release_30 :
12
+
13
+ runs-on : ubuntu-latest
14
+
15
+ steps :
16
+ - uses : actions/checkout@v3
17
+ name : git checkout 3.0.0
18
+ with :
19
+ ref : 3.0.0
20
+ - name : Set up Java
21
+ uses : actions/setup-java@v3
22
+ with :
23
+ java-version : 17
24
+ distribution : temurin
25
+ cache : maven
26
+ - name : preliminary checks
27
+ run : |
28
+ docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }}
29
+ set -e
30
+ # fail if templates/generators contain carriage return '\r'
31
+ /bin/bash ./bin/utils/detect_carriage_return.sh
32
+ # fail if generators contain merge conflicts
33
+ /bin/bash ./bin/utils/detect_merge_conflict.sh
34
+ # fail if generators contain tab '\t'
35
+ /bin/bash ./bin/utils/detect_tab_in_java_class.sh
36
+
37
+ name : setup maven settings.xml
38
+ with :
39
+ servers : |
40
+ [{
41
+ "id": "sonatype-nexus-staging",
42
+ "username": "${{ secrets.OSSRH_USERNAME }}",
43
+ "password": "${{ secrets.OSSRH_TOKEN }}"
44
+ },
45
+ {
46
+ "id": "sonatype-nexus-snapshots",
47
+ "username": "${{ secrets.OSSRH_USERNAME }}",
48
+ "password": "${{ secrets.OSSRH_TOKEN }}"
49
+ }]
50
+ - name : Build with Maven
51
+ run : |
52
+ # mvn clean install -U -Pdocker -Plinux -DJETTY_TEST_HTTP_PORT=8090 -DJETTY_TEST_STOP_PORT=8089
53
+ - name : docker build and push
54
+ run : |
55
+ export DOCKER_GENERATOR_IMAGE_NAME=swaggerapi/swagger-generator-v3-minimal
56
+ export DOCKER_GENERATOR_FULL_IMAGE_NAME=swaggerapi/swagger-generator-v3
57
+ export DOCKER_GENERATOR_ROOT_FULL_IMAGE_NAME=swaggerapi/swagger-generator-v3-root
58
+ export DOCKER_CODEGEN_CLI_IMAGE_NAME=swaggerapi/swagger-codegen-cli-v3
59
+ mvn -DJETTY_TEST_HTTP_PORT=8090 -DJETTY_TEST_STOP_PORT=8089 clean install -Pdocker -Prelease --settings $HOME/.m2/settings.xml
60
+ docker build --rm=false -t $DOCKER_GENERATOR_IMAGE_NAME:${{ env.TAG }} -f ./modules/swagger-generator/Dockerfile_minimal ./modules/swagger-generator
61
+ docker tag $DOCKER_GENERATOR_IMAGE_NAME:${{ env.TAG }} $DOCKER_GENERATOR_IMAGE_NAME:latest
62
+ docker push $DOCKER_GENERATOR_IMAGE_NAME:${{ env.TAG }}
63
+ docker push $DOCKER_GENERATOR_IMAGE_NAME:latest
64
+ docker build --rm=false -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:${{ env.TAG }} ./modules/swagger-codegen-cli
65
+ docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:${{ env.TAG }} $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest
66
+ docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME:${{ env.TAG }}
67
+ docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest
68
+ docker push $DOCKER_GENERATOR_FULL_IMAGE_NAME:${{ env.TAG }}
69
+ docker push $DOCKER_GENERATOR_FULL_IMAGE_NAME:latest
70
+ docker push $DOCKER_GENERATOR_ROOT_FULL_IMAGE_NAME:${{ env.TAG }}
71
+ docker push $DOCKER_GENERATOR_ROOT_FULL_IMAGE_NAME:latest
72
+ docker tag $DOCKER_GENERATOR_ROOT_FULL_IMAGE_NAME:${{ env.TAG }} $DOCKER_GENERATOR_FULL_IMAGE_NAME:${{ env.TAG }}-root
73
+ docker push $DOCKER_GENERATOR_FULL_IMAGE_NAME:$${{ env.TAG }}-root
74
+ env :
75
+ TAG : ${{ github.event.inputs.tag }}
0 commit comments