BaseBandRewrite/.forgejo/workflows/build-client.yml

92 lines
3 KiB
YAML
Raw Permalink Normal View History

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:
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
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-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-14 12:58:26 +02:00
run: |
bash scripts/push_file.sh Client/build/proguard/BaseBand-main.jar 3849
curl $BB_HOST:40002/refresh
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 }}
run: |
bash scripts/push_file.sh Client/build/proguard/BaseBand-release.jar 3849
curl $BB_HOST:40002/refresh
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>"