mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-01-11 22:40:36 +00:00
---
This commit is contained in:
parent
85ff4d7d4c
commit
199e194461
1 changed files with 0 additions and 255 deletions
255
.github/workflows/release.yml
vendored
255
.github/workflows/release.yml
vendored
|
|
@ -13,257 +13,6 @@ env:
|
|||
ZSIGN_VERSION: "0.7"
|
||||
|
||||
jobs:
|
||||
build-and-release-android-apks:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: checkout branch
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: setup flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
|
||||
- name: Setup Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Setup Java toolchain (Only Android target)
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: "temurin"
|
||||
java-version: "17"
|
||||
env:
|
||||
JAVA_OPTS: "-Xmx4096m -XX:MaxMetaspaceSize=512m"
|
||||
|
||||
- name: Setup Gradle properties for CI
|
||||
run: |
|
||||
echo "org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=512m -XX:+UseG1GC" >> android/gradle.properties
|
||||
echo "org.gradle.parallel=true" >> android/gradle.properties
|
||||
echo "org.gradle.daemon=false" >> android/gradle.properties
|
||||
|
||||
- name: Setup cmake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
with:
|
||||
cmake-version: "3.18.1"
|
||||
|
||||
- name: Setup ninja
|
||||
uses: seanmiddleditch/gha-setup-ninja@master
|
||||
|
||||
- name: Install the CLI tool
|
||||
run: cargo install 'flutter_rust_bridge_codegen'
|
||||
|
||||
- name: Setup Android keystore
|
||||
run: |
|
||||
echo "${{ secrets.SIGNING_KEY_STORE_BASE64 }}" | base64 -di > android/app/upload-keystore.jks
|
||||
echo "${{ secrets.SIGNING_KEY_PROPERTIES }}" > android/key.properties
|
||||
|
||||
- name: flutter pub get
|
||||
run: flutter pub get
|
||||
|
||||
- name: build android apks (split per ABI)
|
||||
run: |
|
||||
export GRADLE_OPTS="-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC"
|
||||
flutter build apk --release --split-per-abi --verbose
|
||||
cd build/app/outputs/flutter-apk
|
||||
mv app-arm64-v8a-release.apk Mangayomi-${{ github.ref_name }}-android-arm64-v8a.apk
|
||||
mv app-armeabi-v7a-release.apk Mangayomi-${{ github.ref_name }}-android-armeabi-v7a.apk
|
||||
mv app-x86_64-release.apk Mangayomi-${{ github.ref_name }}-android-x86_64.apk
|
||||
|
||||
- name: build android apk (all architectures)
|
||||
run: |
|
||||
export GRADLE_OPTS="-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC"
|
||||
flutter build apk --release --verbose
|
||||
cd build/app/outputs/flutter-apk
|
||||
mv app-release.apk Mangayomi-${{ github.ref_name }}-android-universal.apk
|
||||
|
||||
- name: upload artifact android apks
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Mangayomi-${{ github.ref_name }}-android
|
||||
path: "build/app/outputs/flutter-apk/Mangayomi-*.apk"
|
||||
|
||||
- name: release packages android apks
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: "build/app/outputs/flutter-apk/Mangayomi-*.apk"
|
||||
allowUpdates: true
|
||||
|
||||
build-and-release-ios-ipa:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: macos-15
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
architecture: x64
|
||||
|
||||
- name: Setup Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
targets: aarch64-apple-ios,x86_64-apple-ios
|
||||
|
||||
- name: Setup Rust cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: rust
|
||||
cache-on-failure: true
|
||||
|
||||
- name: Install flutter_rust_bridge_codegen
|
||||
run: cargo install flutter_rust_bridge_codegen
|
||||
|
||||
- name: Select Xcode 16.4
|
||||
run: sudo xcode-select --switch /Applications/Xcode_16.4.app
|
||||
|
||||
- name: Print Xcode version
|
||||
run: xcodebuild -version
|
||||
|
||||
- name: Flutter pub get
|
||||
run: flutter pub get
|
||||
|
||||
- name: Setup signing environment
|
||||
env:
|
||||
P12_BASE64: ${{ secrets.P12_CERTIFICATE }}
|
||||
PROVISIONING_PROFILE_BASE64: ${{ secrets.PROVISIONING_PROFILE }}
|
||||
run: |
|
||||
echo "$P12_BASE64" | base64 -d > certificate.p12
|
||||
echo "$PROVISIONING_PROFILE_BASE64" | base64 -d > profile.mobileprovision
|
||||
curl -L -o zsign.zip "https://github.com/zhlynn/zsign/releases/download/v${{ env.ZSIGN_VERSION }}/zsign-v${{ env.ZSIGN_VERSION }}-macos-x64.zip"
|
||||
unzip zsign.zip
|
||||
chmod +x zsign || chmod +x zsign-*
|
||||
|
||||
- name: Build iOS
|
||||
env:
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
run: |
|
||||
flutter build ios --release --no-codesign
|
||||
mkdir -p build/ios/iphoneos/Payload
|
||||
mv build/ios/iphoneos/Runner.app build/ios/iphoneos/Payload/
|
||||
./zsign -f -k ./certificate.p12 -p "$P12_PASSWORD" -m ./profile.mobileprovision ./build/ios/iphoneos/Payload/Runner.app
|
||||
cd build/ios/iphoneos
|
||||
zip -r Mangayomi-${{ github.ref_name }}-ios.ipa Payload
|
||||
|
||||
- name: Upload artifact iOS IPA
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Mangayomi-${{ github.ref_name }}-ios
|
||||
path: "build/ios/iphoneos/Mangayomi-*.ipa"
|
||||
|
||||
- name: Release package iOS IPA
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: "build/ios/iphoneos/Mangayomi-*.ipa"
|
||||
allowUpdates: true
|
||||
|
||||
build-and-release-macos-dmg:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: checkout branch
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: setup flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
|
||||
- name: Setup Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Install the CLI tool
|
||||
run: cargo install 'flutter_rust_bridge_codegen'
|
||||
|
||||
- name: flutter pub get
|
||||
run: flutter pub get
|
||||
|
||||
- name: build macos
|
||||
run: |
|
||||
cd macos
|
||||
pod update
|
||||
cd ..
|
||||
flutter build macos --release --verbose
|
||||
brew install create-dmg
|
||||
create-dmg --volname Mangayomi-${{ github.ref_name }}-macos --window-pos 200 120 --window-size 800 450 --icon-size 100 --app-drop-link 600 185 Mangayomi-${{ github.ref_name }}-macos.dmg build/macos/Build/Products/Release/Mangayomi.app
|
||||
|
||||
- name: upload artifact macos dmg
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Mangayomi-${{ github.ref_name }}-macos
|
||||
path: "/Users/runner/work/mangayomi/mangayomi/*.dmg"
|
||||
|
||||
- name: release package macos dmg
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: "/Users/runner/work/mangayomi/mangayomi/*.dmg"
|
||||
allowUpdates: true
|
||||
|
||||
build-and-release-windows-exe_zip:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: checkout branch
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: setup flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
|
||||
- name: Setup Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Install the CLI tool
|
||||
run: cargo install 'flutter_rust_bridge_codegen'
|
||||
|
||||
- name: flutter pub get
|
||||
run: flutter pub get
|
||||
|
||||
- name: Enable inno_bundle
|
||||
run: dart pub global activate inno_bundle
|
||||
|
||||
- name: build windows exe
|
||||
run: |
|
||||
dart run inno_bundle:build --release
|
||||
|
||||
- name: build windows zip
|
||||
run: |
|
||||
# Rename the installer .exe
|
||||
$installer = Get-ChildItem "build/windows/x64/installer/Release/*-Installer.exe"
|
||||
Rename-Item -Path $installer.FullName -NewName "Mangayomi-${{ github.ref_name }}-windows.exe"
|
||||
|
||||
# Go to runner output dir
|
||||
Set-Location -Path "build/windows/x64/runner/Release"
|
||||
|
||||
# Create zip
|
||||
Compress-Archive -Path * -DestinationPath "Mangayomi-Windows.zip"
|
||||
|
||||
# Rename zip
|
||||
Rename-Item -Path "Mangayomi-Windows.zip" -NewName "Mangayomi-${{ github.ref_name }}-windows.zip"
|
||||
|
||||
- name: upload artifact windows exe_zip
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Mangayomi-${{ github.ref_name }}-windows-zip
|
||||
path: |
|
||||
build/windows/x64/installer/Release/Mangayomi-*.exe
|
||||
build/windows/x64/runner/Release/Mangayomi-*.zip
|
||||
|
||||
- name: release package windows exe_zip
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: |
|
||||
build/windows/x64/installer/Release/Mangayomi-*.exe
|
||||
build/windows/x64/runner/Release/Mangayomi-*.zip
|
||||
allowUpdates: true
|
||||
|
||||
build-and-release-linux-zip_AppImage_RPM:
|
||||
permissions:
|
||||
contents: write
|
||||
|
|
@ -466,7 +215,3 @@ jobs:
|
|||
with:
|
||||
artifacts: dist/Mangayomi-*.deb
|
||||
allowUpdates: true
|
||||
|
||||
ios-source-build:
|
||||
needs: build-and-release-ios-ipa
|
||||
uses: ./.github/workflows/update_sideloading_source.yml
|
||||
|
|
|
|||
Loading…
Reference in a new issue