📑 5.2.0 - Connectivity and UX #34
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
release: | |
types: [published] | |
workflow_dispatch: | |
jobs: | |
release-ubuntu: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Setup Ubuntu | |
continue-on-error: true | |
run: sudo apt-get install -y fuse3; sudo apt-get install -y fuse | |
- name: Create Sekrets | |
run: | | |
./gradlew createSekretProperties -Pkey=MONGO_APPLICATION -Pvalue=${{ secrets.MONGO_APPLICATION }}; | |
./gradlew createSekretProperties -Pkey=WRAP_API -Pvalue=${{ secrets.WRAP_API }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_PROJECT -Pvalue=${{ secrets.FIREBASE_PROJECT }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_APPLICATION -Pvalue=${{ secrets.FIREBASE_APPLICATION }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_API_KEY -Pvalue=${{ secrets.FIREBASE_API_KEY }} | |
- name: Create native library | |
run: ./gradlew app:shared:createNativeLib | |
- name: Create package on Ubuntu | |
run: ./gradlew app:desktop:packageDeb; ./gradlew app:desktop:packageAppImage; ./gradlew app:desktop:packageUberJarForCurrentOS | |
- name: Create Browser Extensions on Ubuntu | |
continue-on-error: true | |
run: ./gradlew extension:packChromium; ./gradlew extension:packFirefox | |
- name: Create AppImage and Tarball | |
continue-on-error: true | |
run: | | |
mkdir -p ./build/release/main/image/Burning-Series/usr | |
curl --request GET --url https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage --location --output ./build/release/main/image/appimagetool.AppImage | |
curl --request GET --url https://github.com/AppImage/AppImageKit/releases/download/continuous/AppRun-x86_64 --location --output ./build/release/main/image/Burning-Series/AppRun | |
chmod +x ./build/release/main/image/appimagetool.AppImage | |
chmod +x ./build/release/main/image/Burning-Series/AppRun | |
cp ./app/desktop/Burning-Series.desktop ./build/release/main/image/Burning-Series/ | |
cp ./build/release/main/app/Burning-Series/lib/Burning-Series.png ./build/release/main/image/Burning-Series/ | |
cp -r ./build/release/main/app/Burning-Series/bin ./build/release/main/image/Burning-Series/usr/ | |
cp -r ./build/release/main/app/Burning-Series/lib ./build/release/main/image/Burning-Series/usr/ | |
./build/release/main/image/appimagetool.AppImage ./build/release/main/image/Burning-Series ./build/release/main/image/Burning-Series-${{ github.ref_name }}-x86_64.AppImage | |
tar cJf ./build/release/main/app/Burning-Series.tar.xz ./build/release/main/app/Burning-Series | |
- name: Upload release packages | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
./build/release/main/app/Burning-Series.tar.xz | |
./build/release/main/image/Burning-Series-${{ github.ref_name }}-x86_64.AppImage | |
./build/release/main/deb/*.deb | |
./build/release/main/extension/*.zip | |
./build/release/main/extension/*.xpi | |
./app/desktop/build/compose/jars/Burning-Series-*.jar | |
release-windows: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Create Sekrets | |
run: | | |
gradle createSekretProperties -Pkey=MONGO_APPLICATION -Pvalue=${{ secrets.MONGO_APPLICATION }}; | |
gradle createSekretProperties -Pkey=WRAP_API -Pvalue=${{ secrets.WRAP_API }}; | |
gradle createSekretProperties -Pkey=FIREBASE_PROJECT -Pvalue=${{ secrets.FIREBASE_PROJECT }}; | |
gradle createSekretProperties -Pkey=FIREBASE_APPLICATION -Pvalue=${{ secrets.FIREBASE_APPLICATION }}; | |
gradle createSekretProperties -Pkey=FIREBASE_API_KEY -Pvalue=${{ secrets.FIREBASE_API_KEY }} | |
working-directory: ${{ github.workspace }} | |
- name: Create native library | |
run: gradle app:shared:createNativeLib | |
working-directory: ${{ github.workspace }} | |
- name: Package | |
run: gradle app:desktop:packageExe; gradle app:desktop:packageMsi; gradle app:desktop:packageUberJarForCurrentOS | |
working-directory: ${{ github.workspace }} | |
- name: Upload release packages | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
build/release/main/exe/*.exe | |
build/release/main/msi/*.msi | |
app/desktop/build/compose/jars/Burning-Series-*.jar | |
release-mac: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Create Sekrets | |
run: | | |
./gradlew createSekretProperties -Pkey=MONGO_APPLICATION -Pvalue=${{ secrets.MONGO_APPLICATION }}; | |
./gradlew createSekretProperties -Pkey=WRAP_API -Pvalue=${{ secrets.WRAP_API }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_PROJECT -Pvalue=${{ secrets.FIREBASE_PROJECT }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_APPLICATION -Pvalue=${{ secrets.FIREBASE_APPLICATION }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_API_KEY -Pvalue=${{ secrets.FIREBASE_API_KEY }} | |
- name: Create native library | |
run: ./gradlew app:shared:createNativeLib | |
- name: Package | |
run: ./gradlew app:desktop:packageDmg; ./gradlew app:desktop:packageUberJarForCurrentOS | |
- name: Upload release packages | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
./build/release/main/dmg/*.dmg | |
./app/desktop/build/compose/jars/Burning-Series-*.jar | |
release-android: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Create Sekrets | |
run: | | |
./gradlew createSekretProperties -Pkey=MONGO_APPLICATION -Pvalue=${{ secrets.MONGO_APPLICATION }}; | |
./gradlew createSekretProperties -Pkey=WRAP_API -Pvalue=${{ secrets.WRAP_API }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_PROJECT -Pvalue=${{ secrets.FIREBASE_PROJECT }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_APPLICATION -Pvalue=${{ secrets.FIREBASE_APPLICATION }}; | |
./gradlew createSekretProperties -Pkey=FIREBASE_API_KEY -Pvalue=${{ secrets.FIREBASE_API_KEY }} | |
- name: Create native library | |
run: ./gradlew app:shared:createNativeLib | |
- name: Execute Build | |
run: ./gradlew app:android:assembleRelease && ./gradlew app:android:bundleRelease | |
- name: Move APK file(s) | |
run: mv ./app/android/build/outputs/apk/release/*.apk ./app/android/release/ | |
- name: Move AAB file(s) | |
run: mv ./app/android/build/outputs/bundle/release/*.aab ./app/android/release/ | |
- name: Remove "-unsigned" from filename(s) | |
run: for filename in ./app/android/release/*-unsigned*; do mv "./$filename" "./$(echo "$filename" | sed -e 's/-unsigned//g')"; done | |
- uses: ilharp/sign-android-release@v1 | |
id: sign_app | |
with: | |
releaseDir: app/android/release | |
signingKey: ${{ secrets.ANDROID_SIGNING_KEY }} | |
keyAlias: ${{ secrets.ANDROID_KEY_ALIAS }} | |
keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }} | |
- name: Split signed files | |
uses: xom9ikk/split@v1 | |
id: split | |
with: | |
string: ${{ steps.sign_app.outputs.signedFiles }} | |
separator: ':' | |
limit: 2 | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
${{ steps.split.outputs._0 }} | |
${{ steps.split.outputs._1 }} |