Skip to content

Commit c04ed95

Browse files
Update maven-pr-build.yml
1 parent 3c9fa30 commit c04ed95

File tree

1 file changed

+83
-7
lines changed

1 file changed

+83
-7
lines changed

.github/workflows/maven-pr-build.yml

Lines changed: 83 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)