name: Build and Release Minecraft Plugin on: pull_request: types: [closed] branches: - Testing jobs: build-and-release: steps: # Repository auschecken - name: Checkout Repository uses: actions/checkout@v3 with: fetch-depth: 0 # Vollständiges Repository abrufen # Java 17 installieren - name: Set up Java 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' # Maven installieren - name: Install Maven run: | sudo apt-get update sudo apt-get install -y maven # Plugin-Version aus plugin.yml auslesen - name: Extract Plugin Version id: extract_version run: | VERSION=$(grep '^version:' src/main/resources/plugin.yml | awk '{print $2}') echo "PLUGIN_VERSION=$VERSION" >> $GITHUB_ENV # Projekt mit Maven bauen - name: Build with Maven run: mvn clean package # PR Commit-Nachrichten auslesen - name: Get PR Commit Messages id: pr_commits run: | # Fetch Remote-Branches, um sicherzustellen, dass alle Referenzen korrekt sind git fetch --prune # PR-Commits abrufen: Der Basis-Branch der PR ist `github.event.pull_request.base.ref` PR_COMMITS=$(git log --format=%s origin/${{ github.event.pull_request.base.ref }}..${{ github.sha }} --oneline) # Ausgabe in Umgebungsvariable speichern echo "PR_COMMITS=$PR_COMMITS" >> $GITHUB_ENV echo "$PR_COMMITS" # JAR-Datei umbenennen - name: Rename JAR File run: | mv target/*.jar target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar # Artefakt hochladen - name: Upload Artifact uses: actions/upload-artifact@v3 with: name: BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar path: target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar # Release erstellen mit Changelog - name: Create Release uses: softprops/action-gh-release@v1 with: files: target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar tag_name: ${{ env.PLUGIN_VERSION }} release_name: Release ${{ env.PLUGIN_VERSION }} draft: false prerelease: true body: | ## Changelog ${{ env.PR_COMMITS }}