## This workflow will build a package using Maven and then publish it to GitHub packages when a release is created ## For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path # #name: Test and Publish Package # ##on: ## release: ## types: [ "created" ] # #on: # push: # branches: [ "main" ] # workflow_dispatch: # #jobs: # build: # runs-on: ubuntu-latest # permissions: # contents: write # packages: write # steps: # - uses: actions/checkout@v3 # - name: Set up JDK 11 # uses: actions/setup-java@v3 # with: # java-version: '11' # distribution: 'adopt-hotspot' # server-id: github # Value of the distributionManagement/repository/id field of the pom.xml # settings-path: ${{ github.workspace }} # location for the settings.xml file # - name: Build with Maven # run: mvn --file pom.xml -U clean package -Punit-tests # - name: Set up Apache Maven Central (Overwrite settings.xml) # uses: actions/setup-java@v3 # with: # running setup-java again overwrites the settings.xml # java-version: '11' # distribution: 'adopt-hotspot' # cache: 'maven' # server-id: ossrh # server-username: MAVEN_USERNAME # server-password: MAVEN_PASSWORD # gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} # gpg-passphrase: MAVEN_GPG_PASSPHRASE # - name: Set up Maven cache # uses: actions/cache@v3 # with: # path: ~/.m2/repository # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # restore-keys: | # ${{ runner.os }}-maven- # - name: Build # run: mvn -B -ntp clean install # - name: Upload coverage reports to Codecov # uses: codecov/codecov-action@v3 # env: # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} # - name: Publish to GitHub Packages Apache Maven # # if: > # # github.event_name != 'pull_request' && # # github.ref_name == 'main' && # # contains(github.event.head_commit.message, 'release') # run: | # git config --global user.email "koujalgi.amith@gmail.com" # git config --global user.name "amithkoujalgi" # mvn -B -ntp -DskipTests -Pci-cd -Darguments="-DskipTests -Pci-cd" release:clean release:prepare release:perform # env: # MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} # MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} # MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}