-
-
Notifications
You must be signed in to change notification settings - Fork 118
164 lines (159 loc) · 4.43 KB
/
publish_to_dart_dev.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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
name: Publish WebF To pub.dev
on:
release:
types: [created]
workflow_dispatch:
env:
nodeVersion: "16"
cmakeVersion: "3.22.x"
flutterVersion: "2.2.0"
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build_windows_binary:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: ${{ env.nodeVersion }}
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- run: npm i
- name: Build windows dll
run: npm run build:bridge:windows:release
- uses: actions/upload-artifact@v2
with:
name: windows_binary
path: bridge/build/windows/
build_linux_binary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: jwlawson/[email protected]
with:
cmake-version: "3.22.x"
- run: |
sudo apt-get update
sudo apt-get install chrpath ninja-build pkg-config -y
- run: npm i
- run: npm run build:bridge:linux:release
- uses: actions/upload-artifact@v2
with:
name: linux_binary
path: bridge/build/linux/
build_macos_binary:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm install
- name: Build bridge binary
run: npm run build:bridge:macos:release
- uses: actions/upload-artifact@v2
with:
name: macos_binary
path: bridge/build/macos/
build_ios_binary:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm install
- name: Build bridge binary
run: npm run build:bridge:ios:release
- uses: actions/upload-artifact@v2
with:
name: ios_binary
path: bridge/build/ios/
build_android_binary:
runs-on: macos-12
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: nttld/[email protected]
id: setup-ndk
with:
ndk-version: r22b
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm install
- name: Build bridge binary
run: npm run build:bridge:android:release
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- uses: actions/upload-artifact@v2
with:
name: android_binary
path: bridge/build/android/
publish:
needs: [build_linux_binary, build_android_binary, build_ios_binary, build_macos_binary, build_windows_binary]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutterVersion }}
- name: NPM INSTALL
run: npm install
- uses: actions/download-artifact@v2
with:
name: linux_binary
path: bridge/build/linux/
- uses: actions/download-artifact@v2
with:
name: ios_binary
path: bridge/build/ios/
- uses: actions/download-artifact@v2
with:
name: macos_binary
path: bridge/build/macos/
- uses: actions/download-artifact@v2
with:
name: android_binary
path: bridge/build/android/
- uses: actions/download-artifact@v2
with:
name: windows_binary
path: bridge/build/windows/
- name: Prepare distribute binaries
run: node scripts/pre_publish_webf.js
- name: Publish
uses: k-paxian/dart-package-publisher@master
with:
credentialJson: ${{ secrets.CREDENTIAL_JSON }}
force: true
flutter: true
skipTests: true
relativePath: ./webf