Skip to content

Release v1.19.0-beta.2 #121

Release v1.19.0-beta.2

Release v1.19.0-beta.2 #121

Workflow file for this run

name: Release
on:
push:
tags:
- "*"
permissions:
contents: write
env:
FLUTTER_VERSION: 3.32.7
jobs:
build-android:
name: Build Android (Common)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- uses: actions/setup-java@v4
with:
java-version: 21
distribution: "temurin"
- name: Decode Keystore
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/app/keystore.jks
- name: Create key.properties
run: |
echo "${{ secrets.KEY_PROPERTIES }}" > android/key.properties
- name: Install dependencies
run: flutter pub get
- name: Build Android
run: |
flutter build apk
flutter build apk --split-per-abi --target-platform=android-arm64
flutter build apk --split-per-abi --target-platform=android-arm
flutter build apk --split-per-abi --target-platform=android-x64
- name: Rename .apk
run: |
cd build/app/outputs/flutter-apk
mv app-common-release.apk ciyue-universal-release.apk
mv app-armeabi-v7a-common-release.apk ciyue-armeabi-v7a-release.apk
mv app-arm64-v8a-common-release.apk ciyue-arm64-v8a-release.apk
mv app-x86_64-common-release.apk ciyue-x86_64-release.apk
- uses: actions/upload-artifact@v4
with:
name: APK
path: build/app/outputs/flutter-apk/ciyue-*-release.apk
build-android-full:
name: Build Android (Full)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- uses: actions/setup-java@v4
with:
java-version: 21
distribution: "temurin"
- name: Decode Keystore
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/app/keystore.jks
- name: Create key.properties
run: |
echo "${{ secrets.KEY_PROPERTIES }}" > android/key.properties
- name: Install dependencies
run: flutter pub get
- name: Build Android
run: |
flutter build apk --flavor=full
flutter build apk --flavor=full --split-per-abi --target-platform=android-arm64
flutter build apk --flavor=full --split-per-abi --target-platform=android-arm
flutter build apk --flavor=full --split-per-abi --target-platform=android-x64
- name: Rename .apk
run: |
cd build/app/outputs/flutter-apk
mv app-full-release.apk ciyue-universal-full.apk
mv app-armeabi-v7a-full-release.apk ciyue-armeabi-v7a-full.apk
mv app-arm64-v8a-full-release.apk ciyue-arm64-v8a-full.apk
mv app-x86_64-full-release.apk ciyue-x86_64-full.apk
- uses: actions/upload-artifact@v4
with:
name: APK-FULL
path: build/app/outputs/flutter-apk/ciyue-*-full.apk
build-windows:
name: Build Windows
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install dependencies
run: flutter pub get
- name: Build Windows
run: flutter build windows
- name: Copy DLLs
run: |
Copy-Item "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vcruntime140.dll" build/windows/x64/runner/Release/
Copy-Item "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vcruntime140_1.dll" build/windows/x64/runner/Release/
Copy-Item "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\msvcp140.dll" build/windows/x64/runner/Release/
- name: Install Inno Setup
run: choco install innosetup -y
- name: Compression
run: Compress-Archive -Path build/windows/x64/runner/Release/* -DestinationPath ciyue-windows.zip
- name: Install fastforge
run: dart pub global activate fastforge
- name: Build exe
run: |
fastforge package --platform windows --targets exe
mv dist/*/*.exe .
mv *.exe ciyue-installer.exe
- name: Build msix
run: |
fastforge package --platform windows --targets msix
mv dist/*/*.msix .
mv *.msix ciyue-installer.msix
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Windows
path: |
ciyue-installer.exe
ciyue-installer.msix
ciyue-windows.zip
build-linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad
flutter pub get
- name: Build Linux
run: flutter build linux
- name: Compression
run: tar -cJvf ciyue-linux.tar.xz build/linux/x64/release/bundle/*
- name: Prepare to Package
run: |
sudo apt install locate
wget -O appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool
mv appimagetool /usr/local/bin/
dart pub global activate fastforge
- name: Build AppImage
run: |
fastforge package --platform linux --targets appimage --skip-clean
mv dist/*/*.AppImage .
mv *.AppImage Ciyue-latest-x86_64.AppImage
- name: Build Deb
run: |
fastforge package --platform linux --targets deb --skip-clean
mv dist/*/*.deb .
mv *.deb ciyue-x86_64.deb
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Linux
path: |
ciyue-linux.tar.xz
Ciyue-latest-x86_64.AppImage
ciyue-x86_64.deb
release:
name: Release
runs-on: ubuntu-latest
needs: [build-android, build-android-full, build-windows, build-linux]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
- uses: ncipollo/release-action@v1
with:
artifacts: "APK/ciyue-*-release.apk,APK-FULL/ciyue-*-full.apk,Windows/*,Linux/*"
tag: ${{ github.ref_name }}