-
Notifications
You must be signed in to change notification settings - Fork 12
124 lines (103 loc) · 3.56 KB
/
build_android.yaml
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
name: Build Flutter App
run-name: ${{ github.actor }} is building the Android app bundle 🚀
on: push
# on:
# pull_request:
# types:
# - opened
# - reopened
# - synchronize
# - ready_for_review
# branches:
# - 'main'
# paths-ignore:
# - '**.md'
# - 'doc/**'
# - '.git/'
# - '.vscode/'
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
environment: production
permissions:
contents: write
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v3
# Set up Flutter.
- uses: subosito/flutter-action@v1
with:
channel: "stable"
- run: flutter doctor -v
# Checkout the repository code and get packages.
- name: Checkout app code
uses: actions/checkout@v3
- run: flutter pub get
- name: Download Android keystore
id: android_keystore
uses: timheuer/[email protected]
with:
fileName: upload-keystore.jks
encodedString: ${{ secrets.KEYSTORE_FILE_BASE64 }}
- name: Create key.properties
run: |
echo "storeFile=${{ steps.android_keystore.outputs.filePath }}" > android/key.properties
echo "storePassword=${{ secrets.KEYSTORE_PASSWORD }}" >> android/key.properties
echo "keyPassword=${{ secrets.KEYSTORE_KEY_PASSWORD }}" >> android/key.properties
echo "keyAlias=${{ secrets.KEYSTORE_KEY_ALIAS }}" >> android/key.properties
- name: Build APK
run: flutter build apk --release
- name: Android Release Build
run: flutter build appbundle
- name: Upload APK Artifact
uses: actions/[email protected]
with:
name: release-apk
path: build/app/outputs/apk/release/app-release.apk
- name: Upload Android App Bundle Artifact
uses: actions/upload-artifact@v2
with:
name: release-aab
path: build/app/outputs/bundle/release/app-release.aab
- name: Create Release
uses: ncipollo/[email protected]
with:
artifacts: "build/app/outputs/apk/release/*.apk, build/app/outputs/bundle/release/*.aab"
draft: "true"
# - name: Build APK
# run: flutter build apk --split-per-abi --release
# - name: Build APP BUNDLE
# run: flutter build appbundle
# - name: Create Release
# uses: ncipollo/[email protected]
# with:
# artifacts: "build/app/outputs/apk/release/*.apk, build/app/outputs/bundle/release/*.aab"
# - name: Upload a Build Artifact
# uses: actions/[email protected]
# with:
# name: release-apk
# path: build/app/outputs/apk/
# Build:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout Code
# uses: actions/checkout@v3
# - name: Setup Java
# uses: actions/setup-java@v2
# with:
# distribution: 'zulu'
# java-version: '11'
# - uses: subosito/flutter-action@v2
# with:
# channel: 'stable'
# - name: Build AppBundle
# run: flutter pub get && flutter build appbundle
# - name: Upload AppBundle
# uses: actions/[email protected]
# with:
# name: release
# path: build/app/outputs/bundle/release/app-release.aab
# - name: Create Release
# uses: ncipollo/[email protected]