-
-
Notifications
You must be signed in to change notification settings - Fork 82
71 lines (60 loc) · 2.18 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
name: release
on:
workflow_dispatch:
push:
tags:
- '*'
jobs:
create_release:
runs-on: ubuntu-latest
steps:
- name: Clone the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install and set up Java
uses: actions/setup-java@v1
with:
java-version: '14.x'
- name:
run: echo $SIGNING_KEY | base64 -d > android/app/key.jks
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
- name: Install and set up Flutter
uses: subosito/flutter-action@v1
with:
flutter-version: '3.7.8'
- name: Build APKs
run: |
flutter config --no-analytics
flutter pub get
flutter pub run flutter_oss_licenses:generate.dart
flutter pub run intl_utils:generate
# Create a directory for our release APKs
mkdir -pv build/app/outputs/release
# Build our big boy APK, and move it into the release APKs folder
flutter build apk --dart-define=app.flavor=github --release --no-tree-shake-icons
mv build/app/outputs/apk/release/*.apk build/app/outputs/release
# Build our ABI-specific APKs and move them into the release APKs folder
flutter build apk --dart-define=app.flavor=github --release --no-tree-shake-icons --split-per-abi --target-platform=android-x64,android-arm,android-arm64
mv build/app/outputs/apk/release/*.apk build/app/outputs/release
env:
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PATH: key.jks
- name: Create release
id: upload-release-assets
uses: softprops/action-gh-release@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
draft: true
prerelease: false
files: |
build/app/outputs/release/*.apk
- name: Publish the release
uses: eregon/publish-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ steps.upload-release-assets.outputs.id }}