Skip to content

fix CI

fix CI #55

Workflow file for this run

name: yyrelease
on:
push:
tags:
- "release-v*"
env:
FLUTTER_VERSION: 3.10.3
LINUX_DEPENDENCIES: git wget unzip python3 zip xz-utils curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libjsoncpp25 libsecret-1-dev libsecret-1-0 librhash0 libsqlite3-dev libappindicator3-dev gettext libwebkit2gtk-4.1-dev
jobs:
build-with-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install project dependencies
run: |
./script/fetch_git_info.ps1
flutter pub get
flutter pub run build_runner build
- name: Enable windows build
run: flutter config --enable-windows-desktop
- name: Build artifacts
run: flutter build windows --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: yy-windows.zip
directory: build/windows/runner/Release
- name: Upload assets
uses: actions/upload-artifact@v3
with:
name: windows
path: build/windows/runner/Release/yy-windows.zip
build-with-linux-x86_64:
runs-on: ubuntu-22.04
env:
TARBALL_NAME: yy-linux-x86_64.tar.gz
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Disable Google Analytics
run: flutter config --no-analytics
- name: Install dependencies
run: |
flutter pub get
flutter pub run build_runner build
- name: Enable Linux support
run: flutter config --enable-linux-desktop
- name: Install dependencies
run: sudo apt update && sudo apt-get install -y ${{ env.LINUX_DEPENDENCIES }} || true
- name: Build
run: |
python3 script/linux_apply_font.py
bash script/fetch_git_info.sh
flutter build linux --release
- name: Create tarball
run: |
cd build/linux/x64/release/bundle
tar -czf ../${{ env.TARBALL_NAME }} *
- name: Upload assets
uses: actions/upload-artifact@v3
with:
name: x86_64_linux
path: build/linux/x64/release/${{ env.TARBALL_NAME }}
build-cross-platform-and-release:
runs-on: macos-12
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '13.4.1'
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-java@v2
with:
distribution: "zulu"
java-version: "11"
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
channel: "stable"
- uses: actions/setup-node@v4
with:
node-version: 20
- name: generate release notes
run: node script/draft-release-notes.js > release-notes.txt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: build apk(archs)
run: |
bash script/fetch_git_info.sh
flutter pub get
flutter pub run build_runner build
flutter pub deps
flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
- name: build all arch
run: flutter build apk --release
# 我的iOS都升到18.0了, 还搞鸡毛啊
# - run: |
# flutter build ios --release --no-codesign
# cd build/ios/iphoneos
# mkdir Payload
# cd Payload
# ln -s ../Runner.app
# cd ..
# zip -r app.ipa Payload
- name: build macos
run: |
flutter config --enable-macos-desktop
flutter build macos --release
cd build/macos/Build/Products/Release
zip -r yoyo.mac.zip yoyo.app/*
- uses: actions/download-artifact@v3
with:
name: x86_64_linux
- uses: actions/download-artifact@v3
with:
name: windows
# build/ios/iphoneos/app.ipa
- uses: softprops/action-gh-release@v2
with:
body_path: release-notes.txt
files: |
build/app/outputs/flutter-apk/*.apk
build/macos/Build/Products/Release/yoyo.mac.zip
yy-linux-x86_64.tar.gz
yy-windows.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}