Deploy Latest Release JARs to GitHub Packages #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Latest Release JARs to GitHub Packages | |
| permissions: | |
| contents: read | |
| packages: write | |
| on: | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| - name: Download latest release assets | |
| uses: robinraju/release-downloader@v1.9 | |
| with: | |
| repository: AbUndMax/Java_ArgsParser | |
| latest: true | |
| fileName: "ArgsParser_v*.jar" | |
| - name: Set up JDK 21 and Maven auth | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| server-id: github | |
| server-username: ${{ github.actor }} | |
| server-password: ${{ secrets.GITHUB_TOKEN }} | |
| # NO settings-path: we want the default ($HOME/.m2/settings.xml) | |
| - name: Get Release Tag Name | |
| id: get_tag | |
| run: | | |
| tag_name=$(curl -s https://api.github.com/repos/AbUndMax/Java_ArgsParser/releases/latest \ | |
| | jq -r .tag_name) | |
| echo "release_tag=$tag_name" >> $GITHUB_OUTPUT | |
| - name: Create minimal valid POM | |
| run: | | |
| cat <<EOF > pom.xml | |
| <?xml version="1.0" encoding="UTF-8"?> | |
| <project xmlns="http://maven.apache.org/POM/4.0.0" | |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 \ | |
| http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
| <modelVersion>4.0.0</modelVersion> | |
| <groupId>com.github.AbUndMax</groupId> | |
| <artifactId>dummy</artifactId> | |
| <version>1.0.0</version> | |
| </project> | |
| EOF | |
| - name: Deploy JARs to GitHub Packages | |
| run: | | |
| mvn deploy:deploy-file \ | |
| -Dfile=ArgsParser_${{ steps.get_tag.outputs.release_tag }}.jar \ | |
| -DgroupId=com.github.AbUndMax \ | |
| -DartifactId=Java_ArgsParser \ | |
| -Dversion=${{ steps.get_tag.outputs.release_tag }} \ | |
| -Dpackaging=jar \ | |
| -Dsources=ArgsParser_${{ steps.get_tag.outputs.release_tag }}-src.jar \ | |
| -Djavadoc=ArgsParser_${{ steps.get_tag.outputs.release_tag }}-doc.jar \ | |
| -DrepositoryId=github \ | |
| -Durl=https://maven.pkg.github.com/AbUndMax/Java_ArgsParser | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |