2024-06-08 22:45:07 +02:00
|
|
|
on:
|
2024-06-08 22:47:42 +02:00
|
|
|
workflow_dispatch:
|
2024-06-08 22:45:07 +02:00
|
|
|
push:
|
|
|
|
paths:
|
2024-06-09 01:03:11 +02:00
|
|
|
- ".forgejo/workflows/build-client.yml"
|
2024-06-13 13:51:28 +02:00
|
|
|
- "scripts/**"
|
2024-06-08 22:58:38 +02:00
|
|
|
- "Client/**"
|
2024-06-08 22:45:07 +02:00
|
|
|
|
|
|
|
|
2024-06-08 00:25:51 +02:00
|
|
|
jobs:
|
2024-06-08 13:09:08 +02:00
|
|
|
make:
|
2024-10-04 21:01:23 +02:00
|
|
|
name: Build BaseBand
|
2024-06-08 00:25:51 +02:00
|
|
|
|
|
|
|
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
|
2024-10-04 21:23:45 +02:00
|
|
|
- name: Notify
|
|
|
|
run: bash scripts/webhook.sh "**(Client)** Building..."
|
2024-06-08 00:25:51 +02:00
|
|
|
- name: Initialize Gradle
|
|
|
|
uses: https://github.com/gradle/actions/setup-gradle@v3
|
2024-06-12 18:15:44 +02:00
|
|
|
- name: Initialize ForgeGradle cache
|
|
|
|
uses: actions/cache@v4
|
|
|
|
with:
|
2024-06-12 18:39:29 +02:00
|
|
|
key: fg_cache
|
2024-06-12 18:15:44 +02:00
|
|
|
path: |
|
|
|
|
Client/build/fg_cache
|
|
|
|
Loader/build/fg_cache
|
2024-06-25 08:24:30 +02:00
|
|
|
- name: Refresh deps
|
|
|
|
run: |
|
2024-06-25 08:32:39 +02:00
|
|
|
./gradlew Client:dependencies | grep -e "tuddylib\|ClientBoot" || true
|
|
|
|
./gradlew Client:dependencies | grep -e "tuddylib\|ClientBoot" || true
|
2024-10-04 21:23:45 +02:00
|
|
|
- name: Notify
|
|
|
|
run: bash scripts/webhook.sh "**(Client)** Compiling..."
|
2024-06-08 00:25:51 +02:00
|
|
|
- name: Build
|
2024-06-12 11:05:23 +02:00
|
|
|
run: |
|
|
|
|
bash scripts/gen_hash.sh
|
|
|
|
./gradlew Client:build
|
2024-10-04 21:23:45 +02:00
|
|
|
- name: Notify
|
|
|
|
run: bash scripts/webhook.sh "**(Client)** Obfuscating..."
|
2024-10-04 21:01:23 +02:00
|
|
|
- name: Obfuscate main
|
2024-06-12 13:31:00 +02:00
|
|
|
if: github.ref == 'refs/heads/main' # !! ONLY MAIN
|
|
|
|
run: |
|
|
|
|
./gradlew Client:proguard
|
2024-10-04 21:01:23 +02:00
|
|
|
MOBFARGS="-p --newjvm" bash scripts/mobf.sh Client/build/proguard/BaseBand-main.jar
|
|
|
|
- name: Obfuscate release
|
2024-06-12 13:31:00 +02:00
|
|
|
if: github.ref == 'refs/heads/release' # !! ONLY RELEASE
|
2024-06-11 00:42:21 +02:00
|
|
|
run: |
|
|
|
|
./gradlew Client:proguardRelease
|
2024-10-04 21:01:23 +02:00
|
|
|
MOBFARGS=-p bash scripts/mobf.sh Client/build/proguard/BaseBand-release.jar
|
2024-06-10 17:05:54 +02:00
|
|
|
|
2024-10-04 21:23:45 +02:00
|
|
|
- name: Notify
|
|
|
|
run: bash scripts/webhook.sh "**(Client)** Publishing..."
|
2024-10-04 01:53:50 +02:00
|
|
|
- name: Upload Mappings
|
|
|
|
continue-on-error: true
|
|
|
|
uses: forgejo/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
name: BaseBand-Mapping.zip
|
|
|
|
path: Client/build/proguard/mapping-*
|
2024-10-04 21:01:23 +02:00
|
|
|
- name: Push main to Prod Server
|
2024-06-12 13:31:00 +02:00
|
|
|
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 }}
|
2024-10-04 21:21:53 +02:00
|
|
|
run: bash scripts/push_file.sh Client/build/proguard/BaseBand-main.jar 3849
|
2024-10-04 21:01:23 +02:00
|
|
|
- name: Push release to Prod Server
|
2024-06-12 13:31:00 +02:00
|
|
|
if: github.ref == 'refs/heads/release' # !! ONLY RELEASE
|
2024-06-09 00:28:32 +02:00
|
|
|
env:
|
2024-06-09 12:08:48 +02:00
|
|
|
SSH_PRIVATEKEY: ${{ secrets.SSH_PRIVATEKEY }}
|
2024-06-09 00:28:32 +02:00
|
|
|
GPG_PRIVATEKEY: ${{ secrets.GPG_PRIVATEKEY }}
|
2024-06-09 03:26:18 +02:00
|
|
|
BB_HOST: ${{ vars.BB_HOST }}
|
2024-06-09 12:08:48 +02:00
|
|
|
BB_PORT: ${{ vars.BB_PORT }}
|
|
|
|
BB_PATH: ${{ vars.BB_PATH }}
|
2024-10-04 21:01:23 +02:00
|
|
|
run: bash scripts/push_file.sh Client/build/proguard/BaseBand-release.jar 3849
|
2024-06-12 08:00:37 +02:00
|
|
|
- name: Notify Action Completion
|
2024-06-12 12:00:55 +02:00
|
|
|
if: always()
|
2024-06-13 13:51:28 +02:00
|
|
|
run: bash scripts/webhook.sh "# New client build\n Build Action Completed <@&1250456258629341284>"
|
2024-06-09 00:07:05 +02:00
|
|
|
|