Skip to content

Handle closing a milestone #56

Handle closing a milestone

Handle closing a milestone #56

name: Handle closing a milestone
on:
milestone:
types: [closed]
jobs:
build-release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Verify Milestone Name
run: |
if [[ ! "${{ github.event.milestone.title }}" =~ ^[a-zA-Z0-9_\.\-]+$ ]]; then
echo "Name '${{ github.event.milestone.title }}' is not valid"
echo "It should only contain letters (a-z & A-Z), numbers (0-9), periods (.), dashes (-) and underscores (_)"
exit 1
fi
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Build with Gradle
run: |
VERSION=$(echo ${{ github.event.milestone.title }} | tr "." "_")
./gradlew shadowJar
cp ./builds/OpenMC.jar ./builds/OpenMC-$VERSION.jar
env:
TAG: ${{ github.event.milestone.title }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: OpenMC-${{ github.event.milestone.title }}
path: builds/
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.event.milestone.title }}
name: Release milestone ${{ github.event.milestone.title }}
generate_release_notes: true
fail_on_unmatched_files: true
make_latest: true
body: |
# Mise à jour ${{ github.event.milestone.title }}
${{ github.event.milestone.description }}
files: builds/**
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
- name: Deploy to server
uses: rexlmanu/pterodactyl-upload-action@v2.4
with:
panel-host: ${{ secrets.PANEL_HOST }}
api-key: ${{ secrets.API_KEY }}
server-id: ${{ secrets.SERVER_ID }}
source: builds/OpenMC.jar
target: "./plugins/OpenMC.jar"