BaseBandRewrite/.forgejo/workflows/build-client.yml
TudbuT f2470a67a7
All checks were successful
/ Build BaseBand (push) Successful in 6m0s
improve build logging
2024-10-04 21:23:45 +02:00

87 lines
2.9 KiB
YAML

on:
workflow_dispatch:
push:
paths:
- ".forgejo/workflows/build-client.yml"
- "scripts/**"
- "Client/**"
jobs:
make:
name: Build BaseBand
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
run: bash scripts/webhook.sh "**(Client)** Building..."
- 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 Client:dependencies | grep -e "tuddylib\|ClientBoot" || true
./gradlew Client:dependencies | grep -e "tuddylib\|ClientBoot" || true
- name: Notify
run: bash scripts/webhook.sh "**(Client)** Compiling..."
- name: Build
run: |
bash scripts/gen_hash.sh
./gradlew Client:build
- name: Notify
run: bash scripts/webhook.sh "**(Client)** Obfuscating..."
- name: Obfuscate main
if: github.ref == 'refs/heads/main' # !! ONLY MAIN
run: |
./gradlew Client:proguard
MOBFARGS="-p --newjvm" bash scripts/mobf.sh Client/build/proguard/BaseBand-main.jar
- name: Obfuscate release
if: github.ref == 'refs/heads/release' # !! ONLY RELEASE
run: |
./gradlew Client:proguardRelease
MOBFARGS=-p bash scripts/mobf.sh Client/build/proguard/BaseBand-release.jar
- name: Notify
run: bash scripts/webhook.sh "**(Client)** Publishing..."
- name: Upload Mappings
continue-on-error: true
uses: forgejo/upload-artifact@v4
with:
name: BaseBand-Mapping.zip
path: Client/build/proguard/mapping-*
- name: Push main 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-main.jar 3849
- name: Push release 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-release.jar 3849
- name: Notify Action Completion
if: always()
run: bash scripts/webhook.sh "# New client build\n Build Action Completed <@&1250456258629341284>"