forked from flutter-team-archive/engine
-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathazure-pipelines.yml
More file actions
130 lines (128 loc) · 3.75 KB
/
Copy pathazure-pipelines.yml
File metadata and controls
130 lines (128 loc) · 3.75 KB
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
# Azure Pipelines YAML pipeline.
# https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema
name: ninja
trigger:
- flutter-*-tizen
pr:
- flutter-*-tizen
jobs:
- job: format
pool:
name: Default
demands: agent.os -equals Linux
steps:
- checkout: self
path: src/flutter
- bash: ci/format.sh
displayName: Verify formatting
- job: build
dependsOn: format
strategy:
matrix:
tizen-arm-release:
arch: arm
mode: release
targetTriple: armv7l-tizen-linux-gnueabi
tizen-arm-profile:
arch: arm
mode: profile
targetTriple: armv7l-tizen-linux-gnueabi
tizen-arm-debug:
arch: arm
mode: debug
targetTriple: armv7l-tizen-linux-gnueabi
tizen-arm64-release:
arch: arm64
mode: release
targetTriple: aarch64-tizen-linux-gnu
tizen-arm64-profile:
arch: arm64
mode: profile
targetTriple: aarch64-tizen-linux-gnu
tizen-arm64-debug:
arch: arm64
mode: debug
targetTriple: aarch64-tizen-linux-gnu
tizen-x86-debug:
arch: x86
mode: debug
targetTriple: i586-tizen-linux-gnueabi
pool:
name: Default
demands: agent.os -equals Linux
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
variables:
- name: buildroot
value: $(Pipeline.Workspace)/src
steps:
- checkout: self
path: src/flutter
- bash: |
git reset --hard HEAD
gclient sync -D
sed -i 's/"-Wno-non-c-typedef-for-linkage",//g' build/config/compiler/BUILD.gn
sed -i 's/"-Wno-psabi",//g' build/config/compiler/BUILD.gn
displayName: Prepare for build
workingDirectory: $(buildroot)
failOnStderr: true
- bash: |
flutter/tools/gn \
--target-os linux \
--linux-cpu $(arch) \
--target-toolchain `pwd`/tizen_tools/toolchains \
--target-sysroot `pwd`/tizen_tools/sysroot/$(arch) \
--target-triple $(targetTriple) \
--runtime-mode $(mode) \
--embedder-for-target \
--disable-desktop-embeddings \
--build-tizen-shell
ninja -C out/linux_$(mode)_$(arch)
displayName: Build
workingDirectory: $(buildroot)
failOnStderr: true
- bash: |
OUTDIR=$(Build.StagingDirectory)
cp out/linux_$(mode)_$(arch)/libflutter_*.so $OUTDIR
if [[ $(System.JobName) == "tizen-arm-release" ]]; then
mkdir $OUTDIR/common
cp -r out/linux_$(mode)_$(arch)/{cpp_client_wrapper,icu,public} $OUTDIR/common
rm $OUTDIR/common/cpp_client_wrapper/engine_method_result.cc
fi
displayName: Copy artifacts
workingDirectory: $(buildroot)
failOnStderr: true
- publish: $(Build.StagingDirectory)
artifact: $(System.JobName)
- job: release
dependsOn: build
pool:
name: Default
demands: agent.os -equals Linux
workspace:
clean: outputs
variables:
- name: upstreamVersion
value: 40441def692f444660a11e20fac37af9050245ab
steps:
- checkout: self
path: src/flutter
- download: current
- bash: |
mv $(Pipeline.Workspace)/tizen-arm-release/common .
mv $(Pipeline.Workspace)/tizen-* .
for platform in linux windows darwin; do
for arch in arm arm64; do
for mode in release profile; do
curl -o tmp.zip https://storage.googleapis.com/flutter_infra/flutter/$(upstreamVersion)/android-$arch-$mode/$platform-x64.zip 2> /dev/null
unzip tmp.zip -d tizen-$arch-$mode/$platform-x64 && rm tmp.zip
done
zip -r $(Build.StagingDirectory)/$platform-x64.zip *
rm -r tizen-$arch-*/$platform-x64
done
done
displayName: Create releases
workingDirectory: $(Build.BinariesDirectory)
failOnStderr: true
- publish: $(Build.StagingDirectory)
artifact: release