@@ -25,23 +25,99 @@ jobs:
2525 architecture : x64
2626 cache : maven
2727
28- - name : Build with Maven
29- run : mvn -B package --file pom.xml
28+ - name : Set PR version
29+ run : |
30+ # Create a unique version for this PR build
31+ PR_VERSION="1.0.4-PR${{ github.event.number }}-SNAPSHOT"
32+ echo "PR_VERSION=$PR_VERSION" >> $GITHUB_ENV
33+ # Update the version in pom.xml for this build
34+ mvn versions:set -DnewVersion=$PR_VERSION -DgenerateBackupPoms=false
3035
31- - name : Set up Apache Maven Central
32- uses : actions/setup-java@v2
36+ - name : Set up Maven Central for publishing
37+ uses : actions/setup-java@v3
3338 with : # running setup-java again overwrites the settings.xml
34- java-version : 17
39+ java-version : ' 17 '
3540 distribution : ' adopt'
3641 server-id : ossrh
3742 server-username : OSSRH_USERNAME
3843 server-password : OSSRH_PASSWORD
3944 gpg-private-key : ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
4045 gpg-passphrase : MAVEN_GPG_PASSPHRASE
4146
42- - name : Publish to Apache Maven Central
43- run : mvn -Prelease deploy
47+ - name : Build with Maven
48+ run : mvn -B package --file pom.xml
49+
50+ - name : Build and publish to Maven Central Snapshots
51+ run : mvn -B deploy --file pom.xml
4452 env :
4553 OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
4654 OSSRH_PASSWORD : ${{ secrets.OSSRH_TOKEN }}
4755 MAVEN_GPG_PASSPHRASE : ${{ secrets.MAVEN_GPG_PASSPHRASE }}
56+
57+ - name : Upload main JAR artifact (backup)
58+ uses : actions/upload-artifact@v4
59+ with :
60+ name : rwebpulse-jar-pr${{ github.event.number }}
61+ path : target/rwebpulse-*.jar
62+ retention-days : 30
63+
64+ - name : Upload sources JAR artifact (backup)
65+ uses : actions/upload-artifact@v4
66+ with :
67+ name : rwebpulse-sources-pr${{ github.event.number }}
68+ path : target/rwebpulse-*-sources.jar
69+ retention-days : 30
70+
71+ - name : Upload javadoc JAR artifact (backup)
72+ uses : actions/upload-artifact@v4
73+ with :
74+ name : rwebpulse-javadoc-pr${{ github.event.number }}
75+ path : target/rwebpulse-*-javadoc.jar
76+ retention-days : 30
77+
78+ - name : Log coverage percentage
79+ run : |
80+ echo "coverage = ${{ steps.jacoco.outputs.coverage }}"
81+ echo "branch coverage = ${{ steps.jacoco.outputs.branches }}"
82+
83+ - name : Upload JaCoCo coverage report
84+ uses : actions/upload-artifact@v4
85+ with :
86+ name : jacoco-report-pr${{ github.event.number }}
87+ path : target/site/jacoco/
88+ retention-days : 30
89+
90+ - name : Create artifact summary
91+ run : |
92+ echo "## 🚀 PR Build Published to Maven Central Snapshots" >> $GITHUB_STEP_SUMMARY
93+ echo "" >> $GITHUB_STEP_SUMMARY
94+ echo "The following artifacts have been **published** to Maven Central Snapshots for testing:" >> $GITHUB_STEP_SUMMARY
95+ echo "" >> $GITHUB_STEP_SUMMARY
96+ echo "### 📦 Published Artifacts:" >> $GITHUB_STEP_SUMMARY
97+ echo "- **Group ID**: \`com.intuit.rwebpulse\`" >> $GITHUB_STEP_SUMMARY
98+ echo "- **Artifact ID**: \`rwebpulse\`" >> $GITHUB_STEP_SUMMARY
99+ echo "- **Version**: \`${{ env.PR_VERSION }}\`" >> $GITHUB_STEP_SUMMARY
100+ echo "" >> $GITHUB_STEP_SUMMARY
101+ echo "### 🔧 How to use in your project:" >> $GITHUB_STEP_SUMMARY
102+ echo "" >> $GITHUB_STEP_SUMMARY
103+ echo "**Maven:**" >> $GITHUB_STEP_SUMMARY
104+ echo "\`\`\`xml" >> $GITHUB_STEP_SUMMARY
105+ echo "<dependency>" >> $GITHUB_STEP_SUMMARY
106+ echo " <groupId>com.intuit.rwebpulse</groupId>" >> $GITHUB_STEP_SUMMARY
107+ echo " <artifactId>rwebpulse</artifactId>" >> $GITHUB_STEP_SUMMARY
108+ echo " <version>${{ env.PR_VERSION }}</version>" >> $GITHUB_STEP_SUMMARY
109+ echo "</dependency>" >> $GITHUB_STEP_SUMMARY
110+ echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
111+ echo "" >> $GITHUB_STEP_SUMMARY
112+ echo "**Gradle:**" >> $GITHUB_STEP_SUMMARY
113+ echo "\`\`\`gradle" >> $GITHUB_STEP_SUMMARY
114+ echo "implementation 'com.intuit.rwebpulse:rwebpulse:${{ env.PR_VERSION }}'" >> $GITHUB_STEP_SUMMARY
115+ echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
116+ echo "" >> $GITHUB_STEP_SUMMARY
117+ echo "### 📍 Repository:" >> $GITHUB_STEP_SUMMARY
118+ echo "The artifacts are available in the **Maven Central Snapshots** repository:" >> $GITHUB_STEP_SUMMARY
119+ echo "\`https://oss.sonatype.org/content/repositories/snapshots/\`" >> $GITHUB_STEP_SUMMARY
120+ echo "" >> $GITHUB_STEP_SUMMARY
121+ echo "### 📊 Additional Resources:" >> $GITHUB_STEP_SUMMARY
122+ echo "- **JaCoCo Coverage Report**: Available in the jacoco-report artifact above" >> $GITHUB_STEP_SUMMARY
123+ echo "- **Backup Artifacts**: Also uploaded to GitHub Actions for direct download" >> $GITHUB_STEP_SUMMARY
0 commit comments