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