Deploy Latest Release JARs to GitHub Packages #11
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 # erlaubt checkout des Codes | |
| packages: write # erlaubt Upload in GitHub Packages | |
| 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 configure Maven auth | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| server-id: github # entspricht -DrepositoryId=github | |
| server-username: ${{ github.actor }} # GITHUB_TOKEN-Aktor | |
| server-password: ${{ secrets.GITHUB_TOKEN }} | |
| settings-path: ${{ github.workspace }} # hier erzeugt setup-java eine settings.xml | |
| - name: Get Release Tag Name (keep original) | |
| 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 }} |