Skip to content

Commit 09099f0

Browse files
committed
update
1 parent 8df6986 commit 09099f0

File tree

1 file changed

+84
-21
lines changed

1 file changed

+84
-21
lines changed

.github/workflows/flutter.yaml

Lines changed: 84 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,103 @@
1-
name: Flutter CI
1+
name: Flutter Build and Release
22

33
on:
44
push:
5-
branches:
6-
- main # 根据你的默认分支修改
7-
pull_request:
8-
branches:
9-
- main
5+
tags:
6+
- "v*.*.*" # 仅在推送标签时触发
107

118
jobs:
129
build:
1310
runs-on: ubuntu-latest
11+
12+
strategy:
13+
matrix:
14+
platform: [windows-latest, ubuntu-latest, macos-latest]
15+
1416
steps:
15-
- name: Checkout code
16-
uses: actions/checkout@v2
17+
- name: Clone repository
18+
uses: actions/checkout@v4
1719

18-
- name: Set up JDK
19-
uses: actions/setup-java@v1
20+
- name: Set up Flutter
21+
uses: subosito/flutter-action@v2
2022
with:
21-
java-version: "11"
23+
channel: stable
24+
25+
- name: Install dependencies
26+
run: flutter pub get
27+
28+
- name: Run tests
29+
run: flutter test
30+
31+
- name: Build for ${{ matrix.platform }}
32+
run: |
33+
if [ "${{ matrix.platform }}" == "windows-latest" ]; then
34+
flutter build windows
35+
elif [ "${{ matrix.platform }}" == "ubuntu-latest" ]; then
36+
sudo apt-get update -y
37+
sudo apt-get install -y ninja-build libgtk-3-dev
38+
flutter build linux
39+
elif [ "${{ matrix.platform }}" == "macos-latest" ]; then
40+
flutter build macos
41+
fi
2242
23-
- name: Install Flutter
43+
android:
44+
runs-on: ubuntu-latest
45+
46+
steps:
47+
- name: Clone repository
48+
uses: actions/checkout@v4
49+
50+
- name: Set up Flutter
2451
uses: subosito/flutter-action@v2
2552
with:
26-
flutter-version: "3.24.3"
27-
- name: Install Dependencies
53+
channel: stable
54+
55+
- name: Install dependencies
2856
run: flutter pub get
2957

30-
- name: Run Tests
58+
- name: Run tests
3159
run: flutter test
3260

33-
- name: Build APK
34-
run: flutter build apk --release
61+
- name: Build Android APK
62+
run: flutter build apk
63+
64+
- name: Build Android App Bundle
65+
run: flutter build appbundle
3566

36-
- name: Upload Release APK
37-
uses: actions/upload-artifact@v3
67+
web:
68+
runs-on: ubuntu-latest
69+
70+
steps:
71+
- name: Clone repository
72+
uses: actions/checkout@v4
73+
74+
- name: Set up Flutter
75+
uses: subosito/flutter-action@v2
76+
with:
77+
channel: stable
78+
79+
- name: Install dependencies
80+
run: flutter pub get
81+
82+
- name: Run tests
83+
run: flutter test
84+
85+
- name: Build for Web
86+
run: flutter build web
87+
88+
release:
89+
runs-on: ubuntu-latest
90+
needs: [build, android, web]
91+
92+
steps:
93+
- name: Create Release
94+
uses: softprops/action-gh-release@v1
3895
with:
39-
name: app-release.apk
40-
path: build/app/outputs/flutter-apk/app-release.apk
96+
files: |
97+
build/windows/runner/Release/*.exe
98+
build/linux/x64/release/bundle/*
99+
build/app/outputs/flutter-apk/app-release.apk
100+
build/app/outputs/bundle/release/app-release.aab
101+
build/web/*
102+
env:
103+
GITHUB_TOKEN: ${{ secrets.GHP }}

0 commit comments

Comments
 (0)