1
+ name : Build And Push Docker Release Master
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ branches : [ "master" ]
6
+ inputs :
7
+ tag :
8
+ description : tag/version to release
9
+ required : true
10
+ jobs :
11
+ build_push_docker_release_master :
12
+
13
+ runs-on : ubuntu-latest
14
+
15
+ steps :
16
+ - uses : actions/checkout@v3
17
+ name : git checkout master
18
+ with :
19
+ ref : master
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
53
+ - name : docker build and push
54
+ run : |
55
+ export DOCKER_GENERATOR_IMAGE_NAME=swaggerapi/swagger-generator
56
+ export DOCKER_CODEGEN_CLI_IMAGE_NAME=swaggerapi/swagger-codegen-cli
57
+ export MY_POM_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
58
+
59
+ docker build --rm=false -t $DOCKER_GENERATOR_IMAGE_NAME:${{ env.TAG }} ./modules/swagger-generator
60
+ docker tag $DOCKER_GENERATOR_IMAGE_NAME:${{ env.TAG }} $DOCKER_GENERATOR_IMAGE_NAME:latest
61
+ docker push $DOCKER_GENERATOR_IMAGE_NAME:${{ env.TAG }}
62
+ docker push $DOCKER_GENERATOR_IMAGE_NAME:latest
63
+ docker build --rm=false -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:${{ env.TAG }} ./modules/swagger-codegen-cli
64
+ docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:${{ env.TAG }} $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest
65
+ docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME:${{ env.TAG }}
66
+ docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest
67
+ env :
68
+ TAG : ${{ github.event.inputs.tag }}
0 commit comments