1+ name : Post-push actions
2+
3+ # Run workflow only on commits to `master`
4+ on :
5+ push :
6+ branches :
7+ - master
8+
9+ jobs :
10+ maven_deploy :
11+ name : Deploy to Maven
12+ runs-on : ubuntu-latest
13+ steps :
14+ - name : Check out Git repository
15+ uses : actions/checkout@v1
16+
17+ - uses : actions/setup-java@v1
18+ with :
19+ java-version : ' 13'
20+
21+ - name : Release to Central Repository
22+ uses :
samuelmeuli/[email protected] 23+ with :
24+ gpg_private_key : ${{ secrets.gpg_private_key }}
25+ gpg_passphrase : ${{ secrets.gpg_passphrase }}
26+ nexus_username : ${{ secrets.nexus_username }}
27+ nexus_password : ${{ secrets.nexus_password }}
28+
29+ github_release :
30+ name : Create GitHub release
31+ runs-on : ubuntu-latest
32+ steps :
33+ - name : Check out Git repository
34+ uses : actions/checkout@v1
35+
36+ - name : Setup JDK 13
37+ uses : actions/setup-java@v1
38+ with :
39+ java-version : ' 13'
40+
41+ - name : Build project
42+ run : mvn -B clean package
43+
44+ - name : Get project infos
45+ id : get-project-infos
46+ run : echo "::set-output name=maven_version::$(mvn -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive exec:exec -q)" && echo "::set-output name=maven_artifactId::$(mvn -Dexec.executable='echo' -Dexec.args='${project.artifactId}' --non-recursive exec:exec -q)"
47+
48+ - name : Create Release
49+ id : create_release
50+ uses : actions/create-release@latest
51+ env :
52+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
53+ with :
54+ tag_name : ${{ steps.get-project-infos.outputs.maven_version }}
55+ release_name : ${{ steps.get-project-infos.outputs.maven_version }}
56+
57+ - name : Upload JAR asset
58+ 59+ env :
60+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
61+ with :
62+ upload_url : ${{ steps.create_release.outputs.upload_url }}
63+ asset_path : ./target/${{ steps.get-project-infos.outputs.maven_artifactId }}-${{ steps.get-project-infos.outputs.maven_version }}.jar
64+ asset_name : ${{ steps.get-project-infos.outputs.maven_artifactId }}-${{ steps.get-project-infos.outputs.maven_version }}.jar
65+ asset_content_type : application/java-archive
66+
67+ - name : Upload JavaDoc asset
68+ 69+ env :
70+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
71+ with :
72+ upload_url : ${{ steps.create_release.outputs.upload_url }}
73+ asset_path : ./target/${{ steps.get-project-infos.outputs.maven_artifactId }}-${{ steps.get-project-infos.outputs.maven_version }}-javadoc.jar
74+ asset_name : ${{ steps.get-project-infos.outputs.maven_artifactId }}-${{ steps.get-project-infos.outputs.maven_version }}-javadoc.jar
75+ asset_content_type : application/java-archive
76+
77+ - name : Upload Sources asset
78+ 79+ env :
80+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
81+ with :
82+ upload_url : ${{ steps.create_release.outputs.upload_url }}
83+ asset_path : ./target/${{ steps.get-project-infos.outputs.maven_artifactId }}-${{ steps.get-project-infos.outputs.maven_version }}-sources.jar
84+ asset_name : ${{ steps.get-project-infos.outputs.maven_artifactId }}-${{ steps.get-project-infos.outputs.maven_version }}-sources.jar
85+ asset_content_type : application/java-archive
0 commit comments