1- name : Deploy
1+ name : Deploy SDK
22on :
33 release :
44 types :
55 - published
66
77jobs :
8- publish :
8+ deploy :
9+ name : Deploy SDK to Maven Central
10+ runs-on : ubuntu-latest
911 env :
1012 BW_ACCOUNT_ID : ${{ secrets.BW_ACCOUNT_ID }}
1113 BW_USERNAME : ${{ secrets.BW_USERNAME }}
@@ -27,66 +29,67 @@ jobs:
2729 MANTECA_BASE_URL : ${{ secrets.MANTECA_BASE_URL }}
2830 MANTECA_APPLICATION_ID : ${{ secrets.MANTECA_APPLICATION_ID }}
2931 BW_NUMBER_PROVIDER : ${{ secrets.BW_NUMBER_PROVIDER }}
30- runs-on : ubuntu-latest
31- steps :
32- - uses : actions/checkout@v4
3332
34- - name : Set up Apache Maven Central
35- uses : actions/setup-java@v4
36- with :
37- distribution : ' adopt'
38- java-version : 21
39- server-id : ' ossrh'
40- server-username : OSSRH_USERNAME
41- server-password : OSSRH_PASSWORD
42- gpg-private-key : ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
43- gpg-passphrase : MAVEN_GPG_PASSPHRASE
33+ steps :
34+ - name : Set Release Version
35+ run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
36+
37+ - name : Checkout
38+ uses : actions/checkout@v4
4439
45- - name : Get Maven Project Version
46- run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
40+ - name : Set up Apache Maven Central
41+ uses : actions/setup-java@v4
42+ with :
43+ distribution : ' adopt'
44+ java-version : 21
45+ server-id : ' ossrh'
46+ server-username : OSSRH_USERNAME
47+ server-password : OSSRH_PASSWORD
48+ gpg-private-key : ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
49+ gpg-passphrase : MAVEN_GPG_PASSPHRASE
4750
48- - name : Set OpenAPI Generator Version
49- run : |
50- OPENAPI_VERSION=$(jq .["generator-cli"].version openapitools.json)
51- echo "OPENAPI_GENERATOR_VERSION=$OPENAPI_VERSION" >> $GITHUB_ENV
52- shell : bash
51+ - name : Set OpenAPI Generator Version
52+ run : |
53+ OPENAPI_VERSION=$(jq .["generator-cli"].version openapitools.json)
54+ echo "OPENAPI_GENERATOR_VERSION=$OPENAPI_VERSION" >> $GITHUB_ENV
55+ shell : bash
5356
54- - name : Build SDK
55- 56- with :
57- openapi-generator-version : ${{ env.OPENAPI_GENERATOR_VERSION }}
58- language : java
59- additional-properties : --additional-properties=artifactVersion=$RELEASE_VERSION
57+ - name : Generate SDK with Updated Version
58+ 59+ with :
60+ openapi-generator-version : ${{ env.OPENAPI_GENERATOR_VERSION }}
61+ language : java
62+ additional-properties : --additional-properties=artifactVersion=$RELEASE_VERSION
6063
61- - name : Clean SDK
62- run : mvn clean
64+ - name : Clean SDK
65+ run : mvn clean
6366
64- - name : Set Maven Project Version
65- run : mvn versions:set -DnewVersion=$RELEASE_VERSION
67+ - name : Set Maven Project Version
68+ run : mvn versions:set -DnewVersion=$RELEASE_VERSION
6669
67- - name : Build Package and Test
68- env :
69- JAVA_VERSION : 21
70- RUNNER_OS : ubuntu-latest
71- OPERATING_SYSTEM : ubuntu -latest
72- DISTRIBUTION : adopt
73- run : |
74- mvn -B package --file pom.xml -DskipTests
75- npm install -g @stoplight/prism-cli
76- prism mock ./bandwidth.yml & (sleep 3; mvn test -Punit-tests)
77- shell : bash
70+ - name : Build Package and Test
71+ env :
72+ JAVA_VERSION : 21
73+ RUNNER_OS : ubuntu-latest
74+ OPERATING_SYSTEM : ubuntu -latest
75+ DISTRIBUTION : adopt
76+ run : |
77+ mvn -B package --file pom.xml -DskipTests
78+ npm install -g @stoplight/prism-cli
79+ prism mock ./bandwidth.yml & (sleep 3; mvn test -Punit-tests)
80+ shell : bash
7881
79- - name : Publish to Apache Maven Central
80- run : mvn deploy -DskipTests
81- env :
82- OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
83- OSSRH_PASSWORD : ${{ secrets.OSSRH_PASSWORD }}
84- MAVEN_GPG_PASSPHRASE : ${{ secrets.MAVEN_GPG_PASSPHRASE }}
82+ - name : Publish to Apache Maven Central
83+ run : mvn deploy -DskipTests
84+ env :
85+ OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
86+ OSSRH_PASSWORD : ${{ secrets.OSSRH_PASSWORD }}
87+ MAVEN_GPG_PASSPHRASE : ${{ secrets.MAVEN_GPG_PASSPHRASE }}
8588
86- - name : Notify Slack
87- 88- if : always()
89- with :
90- job-status : ${{ job.status }}
91- slack-bot-token : ${{ secrets.SLACK_BOT_TOKEN }}
92- slack-channel : ${{ secrets.SLACK_CHANNEL }}
89+ - name : Notify Slack
90+ 91+ if : always()
92+ with :
93+ job-status : ${{ job.status }}
94+ slack-bot-token : ${{ secrets.SLACK_BOT_TOKEN }}
95+ slack-channel : ${{ secrets.SLACK_CHANNEL }}
0 commit comments