on: workflow_dispatch: push: branches-ignore: - "!main" paths: - "Client/libs/**" - ".forgejo/workflows/build-loader.yml" - "scripts/**" - "Loader/**" jobs: make: name: Build BaseBand Loader 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 "**(Loader)** 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 Loader:dependencies | grep -e "tuddylib\|ClientBoot" || true ./gradlew Loader:dependencies | grep -e "tuddylib\|ClientBoot" || true - name: Build run: | bash scripts/gen_hash.sh ./gradlew --no-daemon Loader:build Loader:proguard bash scripts/mobf.sh Loader/build/proguard/BaseBand-Loader.jar - name: Upload Loader continue-on-error: true uses: forgejo/upload-artifact@v4 with: name: BaseBand.jar path: Loader/build/proguard/BaseBand-Loader.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 Loader/build/proguard/BaseBand-Loader.jar curl $BB_HOST:40002/refresh - name: Notify Action Completion if: always() run: bash scripts/webhook.sh "**(Loader)** Build Action Completed <@&1250456258629341284>"