Skip to content

feat: updated pom.xml to release to maven central #45

feat: updated pom.xml to release to maven central

feat: updated pom.xml to release to maven central #45

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Java CI with Maven
on:
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17 for x64
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'adopt'
architecture: x64
cache: maven
- name: Set PR version
run: |
# Create a unique version for this PR build
PR_VERSION="1.0.4-PR${{ github.event.number }}-SNAPSHOT"
echo "PR_VERSION=$PR_VERSION" >> $GITHUB_ENV
# Update the version in pom.xml for this build
mvn versions:set -DnewVersion=$PR_VERSION -DgenerateBackupPoms=false
- name: Set up Maven Central for publishing
uses: actions/setup-java@v3
with: # running setup-java again overwrites the settings.xml
java-version: '17'
distribution: 'adopt'
server-id: central
server-username: OSSRH_USERNAME
server-password: OSSRH_PASSWORD
gpg-private-key: 4649EDE7856317F53001F0651C7304BB5D9F0BB9
gpg-passphrase: Snsvkl@2002
- name: Build with Maven
run: mvn -B package --file pom.xml
- name: Build and publish to Maven Central Snapshots
run: mvn -B deploy --file pom.xml
env:
OSSRH_USERNAME: MarUdI
OSSRH_PASSWORD: zOrct1Xl28BRrO1ozF2qPzZEWNMzB1nak
MAVEN_GPG_PASSPHRASE: Snsvkl@2002
- name: Upload main JAR artifact (backup)
uses: actions/upload-artifact@v4
with:
name: rwebpulse-jar-pr${{ github.event.number }}
path: target/rwebpulse-*.jar
retention-days: 30
- name: Upload sources JAR artifact (backup)
uses: actions/upload-artifact@v4
with:
name: rwebpulse-sources-pr${{ github.event.number }}
path: target/rwebpulse-*-sources.jar
retention-days: 30
- name: Upload javadoc JAR artifact (backup)
uses: actions/upload-artifact@v4
with:
name: rwebpulse-javadoc-pr${{ github.event.number }}
path: target/rwebpulse-*-javadoc.jar
retention-days: 30
- name: Log coverage percentage
run: |
echo "coverage = ${{ steps.jacoco.outputs.coverage }}"
echo "branch coverage = ${{ steps.jacoco.outputs.branches }}"
- name: Upload JaCoCo coverage report
uses: actions/upload-artifact@v4
with:
name: jacoco-report-pr${{ github.event.number }}
path: target/site/jacoco/
retention-days: 30
- name: Create artifact summary
run: |
echo "## 🚀 PR Build Published to Maven Central Snapshots" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "The following artifacts have been **published** to Maven Central Snapshots for testing:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📦 Published Artifacts:" >> $GITHUB_STEP_SUMMARY
echo "- **Group ID**: \`com.intuit.rwebpulse\`" >> $GITHUB_STEP_SUMMARY
echo "- **Artifact ID**: \`rwebpulse\`" >> $GITHUB_STEP_SUMMARY
echo "- **Version**: \`${{ env.PR_VERSION }}\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 🔧 How to use in your project:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Maven:**" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`xml" >> $GITHUB_STEP_SUMMARY
echo "<dependency>" >> $GITHUB_STEP_SUMMARY
echo " <groupId>com.intuit.rwebpulse</groupId>" >> $GITHUB_STEP_SUMMARY
echo " <artifactId>rwebpulse</artifactId>" >> $GITHUB_STEP_SUMMARY
echo " <version>${{ env.PR_VERSION }}</version>" >> $GITHUB_STEP_SUMMARY
echo "</dependency>" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Gradle:**" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`gradle" >> $GITHUB_STEP_SUMMARY
echo "implementation 'com.intuit.rwebpulse:rwebpulse:${{ env.PR_VERSION }}'" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📍 Repository:" >> $GITHUB_STEP_SUMMARY
echo "The artifacts are available in the **Maven Central Snapshots** repository:" >> $GITHUB_STEP_SUMMARY
echo "\`https://oss.sonatype.org/content/repositories/snapshots/\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📊 Additional Resources:" >> $GITHUB_STEP_SUMMARY
echo "- **JaCoCo Coverage Report**: Available in the jacoco-report artifact above" >> $GITHUB_STEP_SUMMARY
echo "- **Backup Artifacts**: Also uploaded to GitHub Actions for direct download" >> $GITHUB_STEP_SUMMARY