BaseBandRewrite/.forgejo/workflows/build-client.yml
TudbuT d15c941548
All checks were successful
/ Build BaseBand DSM & Broadway (push) Successful in 2m57s
fix gradle caching
2024-06-12 17:54:07 +02:00

88 lines
3 KiB
YAML

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/