on: workflow_dispatch: push: branches-ignore: - "!release" paths: - "Client/libs/**" - ".forgejo/workflows/build-server.yml" - "scripts/**" - "Server/**" - "Discord/**" jobs: make: name: Build BaseBand Server runs-on: 'docker' steps: - name: Setup Java uses: https://github.com/actions/setup-java@v4 with: distribution: 'adopt' java-version: 8 - name: Checkout uses: actions/checkout@v4 - name: Notify Action Start run: bash scripts/webhook.sh "**(Server)** Build Action Started" - name: Initialize Gradle uses: https://github.com/gradle/actions/setup-gradle@v3 - name: Initialize ForgeGradle cache uses: actions/cache@v4 with: key: fg_cache path: | Client/build/fg_cache Loader/build/fg_cache - name: Refresh deps run: | ./gradlew Server:dependencies | grep -e "tuddylib\|ClientBoot" || true ./gradlew Server:dependencies | grep -e "tuddylib\|ClientBoot" || true - name: Build run: ./gradlew --no-daemon Server:build Discord:build - name: Upload Server continue-on-error: true uses: forgejo/upload-artifact@v4 with: name: BaseBand-Server.jar path: Server/build/libs/BaseBand-Server.jar - name: Upload Bot continue-on-error: true uses: forgejo/upload-artifact@v4 with: name: BaseBand-Discord.jar path: Discord/build/libs/BaseBand-Discord.jar - name: Push to Prod Server env: SSH_PRIVATEKEY: ${{ secrets.SSH_PRIVATEKEY }} GPG_PRIVATEKEY: ${{ secrets.GPG_PRIVATEKEY }} BB_HOST: ${{ vars.BB_HOST }} BB_PORT: ${{ vars.BB_PORT }} BB_PATH: ${{ vars.BB_PATH }} run: | bash scripts/push_file.sh Server/build/libs/BaseBand-Server.jar bash scripts/push_file.sh Discord/build/libs/BaseBand-Discord.jar - name: Notify Action Completion if: always() run: bash scripts/webhook.sh "**(Server)** Build Action Completed"