on: workflow_dispatch: push: paths: - ".forgejo/workflows/build-client.yml" - "Client/**" jobs: make: name: Build BaseBand DSM & Broadway 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 "**(Client)** Build Action Started" - name: Initialize Gradle uses: https://github.com/gradle/actions/setup-gradle@v3 - name: Get ForgeGradle cache continue-on-error: true run: | mv ~/.gradle/caches/baseband/fg_cache Client/build/fg_cache ln ../../Client/build/fg_cache Loader/build/fg_cache - name: Build run: | bash scripts/gen_hash.sh ./gradlew Client:build - name: Obfuscate DSM if: github.ref == 'refs/heads/main' # !! ONLY MAIN run: | ./gradlew Client:proguard MOBFARGS=-p bash scripts/mobf.sh Client/build/proguard/BaseBand-DSM.jar - name: Obfuscate Broadway if: github.ref == 'refs/heads/release' # !! ONLY RELEASE run: | ./gradlew Client:proguardRelease MOBFARGS=-p bash scripts/mobf.sh Client/build/proguard/BaseBand-Broadway.jar - name: Upload DSM continue-on-error: true if: github.ref == 'refs/heads/main' # !! ONLY MAIN uses: forgejo/upload-artifact@v4 with: name: BaseBand-DSM.jar path: Client/build/proguard/BaseBand-DSM.jar - name: Upload Broadway continue-on-error: true if: github.ref == 'refs/heads/release' # !! ONLY RELEASE uses: forgejo/upload-artifact@v4 with: name: BaseBand-Broadway.jar path: Client/build/proguard/BaseBand-Broadway.jar - name: Push DSM to Prod Server if: github.ref == 'refs/heads/main' # !! ONLY MAIN 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 Client/build/proguard/BaseBand-DSM.jar 3849 - name: Push Broadway to Prod Server if: github.ref == 'refs/heads/release' # !! ONLY RELEASE 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 Client/build/proguard/BaseBand-Broadway.jar 3849 - name: Notify Action Completion if: always() run: bash scripts/webhook.sh "**(Client)** Build Action Completed <@&1250456258629341284>" - name: Put ForgeGradle cache if: always() run: | rm -rf ~/.gradle/caches/baseband/fg_cache mkdir -p ~/.gradle/caches/baseband/ mv Client/build/fg_cache ~/.gradle/caches/baseband/