diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9e362c79..b1692305 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,96 +1,15 @@ -name: Publish to Maven & Create GitHub Release +name: Publish on: push: branches: - - 'version/*' + - version/* workflow_dispatch: -env: - SLNE_RELEASES_REPO_USERNAME: ${{ secrets.SLNE_RELEASES_REPO_USERNAME }} - SLNE_RELEASES_REPO_PASSWORD: ${{ secrets.SLNE_RELEASES_REPO_PASSWORD }} - MODULE_REGEX: "surf-api-paper-server.*-all\\.jar$|surf-api-velocity-server.*-all\\.jar$|surf-api-standalone-server.*-all\\.jar$" - DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} - jobs: build: - runs-on: self-hosted - steps: - - name: Collect Workflow Telemetry - uses: catchpoint/workflow-telemetry-action@v2 - - - name: Checkout Repository - uses: actions/checkout@v5 - with: - fetch-depth: 0 - - - name: Setup JDK - uses: actions/setup-java@v5 - with: - distribution: 'graalvm' - java-version: '25' - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v5 - - - name: Build all modules with Gradle - run: ./gradlew build shadowJar --parallel --no-scan - - - name: Check all modules with Gradle - run: ./gradlew check checkKotlinAbi --parallel --no-scan - - - name: Publish all modules to Maven - run: ./gradlew publish --parallel --no-scan - - - name: Extract Project Version and Snapshot Flag from Gradle - id: get_version - run: | - VERSION=$(./gradlew properties --no-daemon \ - | grep '^version:' \ - | awk '{print $2}') - SNAPSHOT_FLAG=$(./gradlew properties --no-daemon \ - | grep '^snapshot:' \ - | awk '{print $2}') - if [ "$SNAPSHOT_FLAG" = "true" ]; then - VERSION="${VERSION}-SNAPSHOT" - fi - echo "VERSION=$VERSION" >> $GITHUB_ENV - echo "SNAPSHOT_FLAG=$SNAPSHOT_FLAG" >> $GITHUB_ENV - - - name: Determine release flags - run: | - CURRENT_BRANCH=${GITHUB_REF#refs/heads/} - # prerelease only for snapshots - if [ "${SNAPSHOT_FLAG}" = "true" ]; then - echo "PRERELEASE=true" >> $GITHUB_ENV - else - echo "PRERELEASE=false" >> $GITHUB_ENV - fi - # make_latest false for snapshots or non-default branches - if [ "${SNAPSHOT_FLAG}" = "true" ] || [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then - echo "MAKE_LATEST=false" >> $GITHUB_ENV - else - echo "MAKE_LATEST=true" >> $GITHUB_ENV - fi - - - name: Find and filter JAR files - id: find_jars - run: | - echo "JAR_FILES<> $GITHUB_ENV - find . -path "**/build/libs/*.jar" \ - | grep -E "${{ env.MODULE_REGEX }}" \ - >> $GITHUB_ENV - echo "EOF" >> $GITHUB_ENV - - - name: Create GitHub Release - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ env.VERSION }} - name: Release ${{ env.VERSION }} - draft: false - prerelease: ${{ env.PRERELEASE }} - make_latest: ${{ env.MAKE_LATEST }} - files: ${{ env.JAR_FILES }} - generate_release_notes: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: SLNE-Development/surf-workflows/.github/workflows/build-publish-release-gradle.yml@master + with: + modules: "surf-api-paper-server-*-all.jar;surf-api-velocity-server-*-all.jar;surf-api-standalone-server-*-all.jar" + check-kotlin-abi: true + secrets: inherit