Skip to content

Commit 4d37523

Browse files
committed
Split main action runner script and optimized android runner
1 parent db22910 commit 4d37523

File tree

8 files changed

+212
-543
lines changed

8 files changed

+212
-543
lines changed

.github/workflows/android.yml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,22 @@ jobs:
1919
path: |
2020
~/.gradle/caches
2121
~/.gradle/wrapper
22-
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
22+
key: ${{ runner.os }}-gradle-${{ hashFiles('app/**/*.gradle*', 'app/**/gradle-wrapper.properties') }}
2323
restore-keys: |
2424
${{ runner.os }}-gradle-
2525
26+
- name: Cache Android SDK
27+
uses: actions/cache@v3
28+
with:
29+
path: |
30+
/usr/local/lib/android/sdk/platform-tools
31+
/usr/local/lib/android/sdk/platforms
32+
/usr/local/lib/android/sdk/build-tools
33+
/usr/local/lib/android/sdk/licenses
34+
key: ${{ runner.os }}-android-sdk-${{ hashFiles('app/android/build.gradle') }}
35+
restore-keys: |
36+
${{ runner.os }}-android-sdk-
37+
2638
- name: Set up Flutter
2739
uses: subosito/flutter-action@v2
2840
with:
@@ -35,8 +47,8 @@ jobs:
3547
with:
3648
path: |
3749
${{ env.PUB_CACHE }}
38-
.dart_tool
39-
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
50+
app/.dart_tool
51+
key: ${{ runner.os }}-pub-${{ hashFiles('app/**/pubspec.lock') }}
4052
restore-keys: |
4153
${{ runner.os }}-pub-
4254
@@ -59,11 +71,12 @@ jobs:
5971
run: |
6072
cd app
6173
dart ./scripts/keys-n-stuff.dart
62-
74+
- name: Install pub dependencies
75+
run: cd app && flutter pub get
76+
- name: Sync android version
77+
run: cd app && dart scripts/version_sync.dart
6378
- run: |
6479
cd app
65-
flutter pub get
66-
dart scripts/version_sync.dart
6780
flutter build apk -t lib/main.firebase.dart --release
6881
flutter build appbundle -t lib/main.firebase.dart --release
6982

.github/workflows/linux.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
on:
2+
push:
3+
tags:
4+
- "*"
5+
6+
name: Linux build and release
7+
jobs:
8+
linux:
9+
name: Linux
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Set up Flutter
13+
uses: subosito/flutter-action@v2
14+
with:
15+
cache: true
16+
flutter-version: "3.24.5"
17+
channel: "stable"
18+
19+
- uses: actions/checkout@v4
20+
with:
21+
path: "app"
22+
23+
- name: Install required build tools for linux
24+
run: |
25+
sudo apt-get update -y
26+
sudo apt-get upgrade -y
27+
sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa
28+
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
29+
30+
- run: |
31+
cd app
32+
flutter config --enable-linux-desktop
33+
flutter pub get
34+
flutter build linux --release
35+
cd build/linux/x64/release
36+
zip -r linux-release.zip bundle
37+
38+
- name: Create linux Release
39+
uses: ncipollo/release-action@v1
40+
with:
41+
artifacts: "app/build/linux/x64/release/linux-release.zip"
42+
token: ${{ secrets.TOKEN }}
43+
allowUpdates: true

.github/workflows/macos.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
on:
2+
push:
3+
tags:
4+
- "*"
5+
6+
name: MacOS build and release
7+
jobs:
8+
macos:
9+
name: MacOS
10+
runs-on: macos-latest
11+
steps:
12+
- name: Set up Flutter
13+
uses: subosito/flutter-action@v2
14+
with:
15+
cache: true
16+
flutter-version: "3.22.2"
17+
channel: "stable"
18+
19+
- uses: actions/checkout@v4
20+
with:
21+
path: "app"
22+
23+
- uses: actions/checkout@v4
24+
with:
25+
repository: "hmziqrs/keys-n-stuff"
26+
path: "app/.keys-n-stuff"
27+
token: ${{ secrets.TOKEN }}
28+
29+
- name: Execute Keys n Stuff
30+
run: |
31+
cd app
32+
dart ./scripts/keys-n-stuff.dart
33+
34+
- run: |
35+
cd app
36+
flutter config --enable-macos-desktop
37+
flutter pub global activate flutterfire_cli
38+
flutter pub get
39+
flutter build macos -t lib/main.firebase.dart --release
40+
cd build/macos/Build/Products/Release
41+
ditto -c -k --sequesterRsrc --keepParent flutter_uis.app macos-release.zip
42+
43+
- uses: ncipollo/release-action@v1
44+
with:
45+
artifacts: "app/build/macOS/Build/Products/Release/macos-release.zip"
46+
token: ${{ secrets.TOKEN }}
47+
allowUpdates: true

0 commit comments

Comments
 (0)