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