Skip to content

Handle closing a milestone #26

Handle closing a milestone

Handle closing a milestone #26

name: Handle closing a milestone
on:
milestone:
types: [closed]
permissions:
contents: write
pages: write
id-token: write
jobs:
handle-milestone:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check if milestone is docs
id: check_docs
run: |
if [[ "${{ github.event.milestone.title }}" == docs* ]]; then
echo "is_docs=true" >> $GITHUB_OUTPUT
else
echo "is_docs=false" >> $GITHUB_OUTPUT
fi
# -----------------------------
# Build and preview VitePress docs
# -----------------------------
- name: Set up Node.js
if: steps.check_docs.outputs.is_docs == 'true'
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
if: steps.check_docs.outputs.is_docs == 'true'
run: npm ci
- name: Build VitePress docs
if: steps.check_docs.outputs.is_docs == 'true'
run: npm run docs:build
- name: Deploy to GitHub Pages
if: steps.check_docs.outputs.is_docs == 'true'
uses: actions/deploy-pages@v4
# -----------------------------
# Build and release NoctisUI
# -----------------------------
- name: Set up JDK 21
if: steps.check_docs.outputs.is_docs == 'false'
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Make gradlew executable
if: steps.check_docs.outputs.is_docs == 'false'
run: chmod +x ./gradlew
- name: Build with Gradle
if: steps.check_docs.outputs.is_docs == 'false'
run: |
VERSION=$(echo ${{ github.event.milestone.title }} | tr "." "_")
./gradlew build remapJar
mkdir -p builds
FINAL_JAR=$(ls build/libs/*[0-9].jar | head -n 1)
cp "$FINAL_JAR" "builds/noctisui-$VERSION.jar"
env:
TAG: ${{ github.event.milestone.title }}
- name: Upload artifact
if: steps.check_docs.outputs.is_docs == 'false'
uses: actions/upload-artifact@v4
with:
name: noctisui-${{ github.event.milestone.title }}.jar
path: builds/
- name: Create GitHub Release
if: steps.check_docs.outputs.is_docs == 'false'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.event.milestone.title }}
name: Release ${{ github.event.milestone.title }}
generate_release_notes: true
fail_on_unmatched_files: true
make_latest: true
body: |
# Mise à jour de NoctisUI ${{ github.event.milestone.title }}
## Changements
${{ github.event.milestone.description }}
files: |
build/devlibs/noctisui-*-dev.jar
builds/**
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}