# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. # This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle name: Leaves CI on: push: branches: [ master ] pull_request: types: [ closed ] branches: [ master ] workflow_dispatch: jobs: build: runs-on: ubuntu-latest if: github.event.pull_request.merged || github.event_name == 'push' || github.event_name == 'workflow_dispatch' steps: - name: Get repository uses: actions/checkout@v3 with: fetch-depth: 0 - name: Get JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'zulu' - name: Setup Git Config run: | git config --global user.email "ci@leavesmc.top" git config --global user.name "Leaves CI" - name: Apply Patches uses: gradle/gradle-build-action@937999e9cc2425eddc7fd62d1053baf041147db7 with: arguments: applyPatches - name: Create Paperclip Jar uses: gradle/gradle-build-action@937999e9cc2425eddc7fd62d1053baf041147db7 with: arguments: createReobfPaperclipJar - name: Publish API continue-on-error: true uses: gradle/gradle-build-action@937999e9cc2425eddc7fd62d1053baf041147db7 with: arguments: publish -PleavesUsername=${{ secrets.REPO_USERNAME }} -PleavesPassword=${{ secrets.REPO_PASSWORD }} - name: Get Release Info run: sh scripts/GetReleaseInfo.sh - name: Create Release if: "!contains(github.event.commits[0].message, '[release-skip]')" uses: ncipollo/release-action@v1.12.0 with: artifacts: ${{ env.jar }} bodyFile: ${{ env.info }} tag: ${{ env.tag }} name: ${{ env.name }} prerelease: ${{ env.pre }} token: ${{ secrets.GITHUB_TOKEN }} makeLatest: ${{ env.make_latest }} - name: Delete Draft Releases uses: hugo19941994/delete-draft-releases@v1.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Github Releases To Discord continue-on-error: true uses: tsickert/discord-webhook@v5.3.0 with: webhook-url: ${{ secrets.DISCORD_WEBHOOK }} raw-data: ${{ env.discordmes }} - name: Upload Artifact uses: actions/upload-artifact@v2 with: name: ${{ env.jar }} path: ${{ env.jar }} - name: Push to Api continue-on-error: true if: "!contains(github.event.commits[0].message, '[release-skip]')" env: secret: ${{ secrets.API_PUSH_TOKEN }} secret_v2: ${{ secrets.API_V2_PUSH_TOKEN }} tag: ${{ env.tag }} run: sh scripts/PushToAPI.sh