-
Notifications
You must be signed in to change notification settings - Fork 16
135 lines (120 loc) · 4.62 KB
/
publish.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
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
125
126
127
128
129
130
131
132
133
134
135
name: "Publish"
on:
push:
tags: [v\d+\.\d+\.\d+]
jobs:
fullter-build:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
include:
# - target: aarch64-apple-darwin
# platform: macos-latest
- target: x86_64-apple-darwin
platform: macos-latest
# - target: x86_64-unknown-linux-gnu
# platform: ubuntu-20.04
- target: x86_64-pc-windows-msvc
platform: windows-latest
runs-on: ${{ matrix.platform }}
steps:
- name: Get version
id: get_version
uses: battila7/get-version-action@v2
- name: Install Java
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "17"
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.16.3"
channel: "stable"
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache
cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
# architecture: arm64 # optional, x64 or arm64
- name: Install flutter_distributor
run: dart pub global activate flutter_distributor
- name: setup node
if: matrix.platform == 'macos-latest'
uses: actions/setup-node@v3
with:
node-version: 16
- name: setup python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- run: |
pip install python-dotenv
pip install PyYAML
# - name: install pygithub
# run: |
# pip install pygithub
- name: install appdmg
if: matrix.platform == 'macos-latest'
run: |
yarn config set network-timeout 300000
yarn global add appdmg
# - name: Set up Homebrew
# if: matrix.platform == 'macos-latest'
# id: set-up-homebrew
# uses: Homebrew/actions/setup-homebrew@master
# - name: install 7zip
# if: matrix.platform == 'macos-latest'
# run: brew install p7zip
- name: Check Out
uses: actions/checkout@v3
- name: Change Version
env:
VERSION: "${{ steps.get_version.outputs.version-without-v }}"
run: python script/cmd.py -v
- name: Build macos ios and android (site)
if: matrix.platform == 'macos-latest'
env:
GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }}
CHANNEL: "site"
SYSTEM_OS_NAME: "macos"
VERSION: "${{ steps.get_version.outputs.version-without-v }}"
ANDROID_KEY_STORE_PASSWORD: ${{ secrets.ANDROID_KEY_STORE_PASSWORD }}
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
ANDROID_SIGN_KEY: ${{ secrets.ANDROID_SIGN_KEY }}
ANDROID_SIGN: true
ANDROID_KEY_PATH: key.jks
run: |
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo $ANDROID_SIGN_KEY | base64 -d > android/app/key.jks
python script/cmd.py -c
flutter_distributor release --name macos-site --skip-clean
flutter_distributor release --name android-site --skip-clean
- name: Build macos ios and android (appstore)
if: matrix.platform == 'macos-latest'
env:
GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }}
CHANNEL: "appstore"
VERSION: "${{ steps.get_version.outputs.version-without-v }}"
ANDROID_KEY_STORE_PASSWORD: ${{ secrets.ANDROID_KEY_STORE_PASSWORD }}
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
ANDROID_SIGN_KEY: ${{ secrets.ANDROID_SIGN_KEY }}
ANDROID_SIGN: true
ANDROID_KEY_PATH: key.jks
run: |
python script/cmd.py -c
flutter_distributor release --name android-appstore --skip-clean
- name: Build windows
if: matrix.platform == 'windows-latest'
env:
GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }}
CHANNEL: "site"
SYSTEM_OS_NAME: "windows"
VERSION: "${{ steps.get_version.outputs.version-without-v }}"
shell: pwsh
run: |
echo "$env:LOCALAPPDATA\pub\cache\bin" >> $GITHUB_PATH
python script/cmd.py -c
flutter_distributor release --name windows-site --skip-clean