betterminecraft/.gitea/workflows/test-release.yml
Steev 881a303196
All checks were successful
Build and Release Minecraft Plugin / build-and-release (pull_request) Successful in 2m30s
.gitea/workflows/test-release.yml aktualisiert
2024-12-27 04:14:05 +01:00

81 lines
2.4 KiB
YAML

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 }}