Files
BalSync/.github/workflows/preview-release.yml

54 lines
1.5 KiB
YAML

name: Preview Release
on:
push:
branches:
- dev # Trigger on push to dev branch
jobs:
build:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout code
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Setup Java (required for building the plugin)
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
# Step 3: Build the plugin with Maven
- name: Build Plugin
run: mvn clean package -DskipTests
# Step 4: Create a preview release
- name: Create Preview Release
uses: softprops/action-gh-release@v2
with:
tag_name: preview-${{ github.run_number }}
name: "Preview Build #${{ github.run_number }}"
body: |
🚀 Automatic Preview Build
Commit: ${{ github.sha }}
Branch: ${{ github.ref_name }}
prerelease: true
files: target/*.jar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Step 5: Cleanup old preview releases (keep only 10 newest)
- name: Cleanup old Preview Releases
run: |
echo "Deleting old Preview Releases, keeping only the 10 newest..."
gh release list --limit 100 --repo $GITHUB_REPOSITORY \
| grep preview \
| sort -rk2 \
| awk 'NR>10 {print $1}' \
| xargs -I {} gh release delete {} --repo $GITHUB_REPOSITORY --yes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}