1+ name : spt-development-logging-spring
2+
3+ on : [push, pull_request]
4+
5+ jobs :
6+ build :
7+ runs-on : ubuntu-latest
8+
9+ steps :
10+ - uses : actions/checkout@v3
11+
12+ - name : Set up JDK 18
13+ uses : actions/setup-java@v3
14+ with :
15+ java-version : ' 18'
16+ distribution : ' adopt'
17+
18+ - name : Build with Maven
19+ run : mvn clean install -B
20+
21+ release :
22+ runs-on : ubuntu-latest
23+ needs : build
24+ if : github.ref == 'refs/heads/main'
25+
26+ steps :
27+ - uses : actions/checkout@v3
28+
29+ - name : Set up JDK 18
30+ uses : actions/setup-java@v3
31+ with :
32+ java-version : ' 18'
33+ distribution : ' adopt'
34+
35+ - name : Determine version
36+ run : echo "POM_VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec | sed -e 's/-SNAPSHOT//')" >> $GITHUB_ENV
37+
38+ - name : Import GPG key
39+ id : import_gpg
40+ uses : crazy-max/ghaction-import-gpg@v5
41+ with :
42+ gpg_private_key : ${{ secrets.GPG_PRIVATE_KEY }}
43+ passphrase : ${{ secrets.GPG_PASSPHRASE }}
44+
45+ - name : Configure Git User for updating version
46+ run : |
47+ git config user.email "actions@github.com"
48+ git config user.name "GitHub Actions"
49+
50+ - name : Create release
51+ run : mvn --settings .github/maven-settings.xml release:prepare release:perform -DskipTests -Prelease -B
52+ env :
53+ OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
54+ OSSRH_PASSWORD : ${{ secrets.OSSRH_PASSWORD }}
55+ GIT_HUB_USERNAME : ${{ secrets.GIT_HUB_USERNAME }}
56+ GIT_HUB_TOKEN : ${{ secrets.GIT_HUB_TOKEN }}
57+ GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
58+
59+ - name : Create GitHub release
60+ id : create_release
61+ uses : actions/create-release@v1
62+ env :
63+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
64+ with :
65+ tag_name : ${{ env.POM_VERSION }}
66+ release_name : ${{ env.POM_VERSION }}
67+ draft : false
68+ prerelease : false
69+
70+ - name : Upload GitHub release asset
71+ id : upload-release-asset
72+ uses : actions/upload-release-asset@v1
73+ env :
74+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
75+ with :
76+ upload_url : ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
77+ asset_path : target/spt-development-logging-spring-${{ env.POM_VERSION }}.jar
78+ asset_name : spt-development-logging-spring-${{ env.POM_VERSION }}.jar
79+ asset_content_type : application/java-archive
0 commit comments