Merge pull request 'main' (#67) from main into Testing
All checks were successful
Build and Release Minecraft Plugin / build-and-release (push) Successful in 1m1s

Reviewed-on: #67
This commit is contained in:
Steev 2024-12-27 04:24:13 +01:00
commit 27b00aa28c
2 changed files with 49 additions and 76 deletions

View File

@ -3,63 +3,59 @@ name: Build and Release Minecraft Plugin
on: on:
push: push:
branches: branches:
- release - testing
jobs: jobs:
build: build-and-release:
runs-on: self-hosted
steps: steps:
- name: Checkout Repository # Repository auschecken
uses: actions/checkout@v2 - name: Checkout Repository
uses: actions/checkout@v3
- name: Set up Java 17 # Java 17 installieren
uses: actions/setup-java@v2 - name: Set up Java 17
with: uses: actions/setup-java@v3
java-version: '17' with:
distribution: 'adopt' # Verwenden Sie 'adopt' für Java 17 java-version: '17'
distribution: 'temurin'
- name: Update Apt # Maven installieren
run: apt update -y - name: Install Maven
run: |
sudo apt-get update
sudo apt-get install -y maven
- name: Update CA certificates # Plugin-Version aus plugin.yml auslesen
run: apt-get install --reinstall ca-certificates -y - 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
- name: Install Maven # Projekt mit Maven bauen
run: apt install maven -y - name: Build with Maven
run: mvn clean package
- name: Build with Maven # JAR-Datei umbenennen
run: mvn clean install - name: Rename JAR File
run: |
- name: Upload Artifact mv target/*.jar target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar
uses: actions/upload-artifact@v3
with:
name: BetterMinecraft-stable.jar
path: target/BetterMinecraft-stable.jar
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Get letzte Release-Version # Artefakt hochladen
id: get_version - name: Upload Artifact
run: echo "::set-output name=version::$(git describe --tags --abbrev=0 || echo '0.0.0')" uses: actions/upload-artifact@v3
with:
name: BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar
path: target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar
- name: Incrementiere Version # Release erstellen
id: increment_version - name: Create Release
run: | uses: softprops/action-gh-release@v1
IFS='.' read -ra VERSION <<< "${{ steps.get_version.outputs.version }}" with:
MAJOR="${VERSION[0]}" files: target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar
MINOR="${VERSION[1]}" tag_name: ${{ env.PLUGIN_VERSION }}
PATCH="${VERSION[2]}" release_name: Release ${{ env.PLUGIN_VERSION }}
echo "::set-output name=major::$(($MAJOR + 1))" draft: false
echo "::set-output name=minor::$(($MINOR + 1))" prerelease: true
echo "::set-output name=patch::$(($PATCH + 1))"
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v1
with:
files: |
target/BetterMinecraft-stable.jar
tag_name: ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }}
release_name: Release ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }}
draft: false
prerelease: false

View File

@ -1,20 +1,17 @@
name: Build and Release Minecraft Plugin name: Build and Release Minecraft Plugin
on: on:
pull_request: push:
types: [closed]
branches: branches:
- Testing - Testing
jobs: jobs:
build-and-release: build-and-release:
steps: steps:
# Repository auschecken # Repository auschecken
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v3 uses: actions/checkout@v3
with:
fetch-depth: 0 # Vollständiges Repository abrufen
# Java 17 installieren # Java 17 installieren
- name: Set up Java 17 - name: Set up Java 17
@ -40,23 +37,6 @@ jobs:
- name: Build with Maven - name: Build with Maven
run: mvn clean package run: mvn clean package
# Sicherstellen, dass alle Referenzen korrekt sind
- name: Fetch All References
run: |
# Sicherstellen, dass alle Remote-Referenzen abgerufen werden
git fetch --prune
# PR Commit-Nachrichten auslesen
- name: Get PR Commit Messages
id: pr_commits
run: |
# Abrufen der Commit-Nachrichten für den PR
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 # JAR-Datei umbenennen
- name: Rename JAR File - name: Rename JAR File
run: | run: |
@ -69,7 +49,7 @@ jobs:
name: BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar name: BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar
path: target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar path: target/BetterMinecraft-${{ env.PLUGIN_VERSION }}-b.jar
# Release erstellen mit Changelog # Release erstellen
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
@ -78,6 +58,3 @@ jobs:
release_name: Release ${{ env.PLUGIN_VERSION }} release_name: Release ${{ env.PLUGIN_VERSION }}
draft: false draft: false
prerelease: true prerelease: true
body: |
## Changelog
${{ env.PR_COMMITS }}