forked from onivim/oni2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathesy-build-steps.yml
70 lines (69 loc) · 2.8 KB
/
esy-build-steps.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
# Cross-platform set of build steps for building esy projects
steps:
- script: esy install
displayName: 'Install Dependencies: esy install (attempt 1)'
continueOnError: true
- script: esy install
displayName: 'Install Dependencies: esy install (attempt 2)'
continueOnError: true
- script: esy install
displayName: 'Install Dependencies: esy install (final)'
- script: esy bootstrap
displayName: 'Bootstrap Oni2 setup with system specific build variables (attempt 1)'
continueOnError: true
- script: esy bootstrap
displayName: 'Bootstrap Oni2 setup with system specific build variables (attempt 2)'
continueOnError: true
- script: esy bootstrap
displayName: 'Bootstrap Oni2 setup with system specific build variables (final)'
- script: esy build
displayName: 'Build: esy build'
- script: esy build dune build @check
displayName: 'Build: esy build dune build @check'
- script: esy x Oni2 --help
displayName: "esy x Oni2 --help"
- script: esy x Oni2 -f --version
displayName: "esy x Oni2_editor -f --version"
- script: esy x Oni2 -f --silent --checkhealth
displayName: "esy x Oni2 -f --silent --checkhealth"
- script: 'esy @release install'
displayName: 'Release: install'
- script: 'esy @release build'
displayName: 'esy @release build'
- script: 'esy @release run -f --help'
displayName: 'esy @release run -f --help'
- script: esy @release create --codesign
displayName: "esy @release create --codesign"
- script: esy build-env
displayName: "Esy: show build env"
- script: esy @test install
displayName: 'Test: install'
- script: esy @test inline
displayName: 'Inline Unit Tests: esy @test inline'
# Try out suggestion here: https://github.com/google/sanitizers/issues/1171
- script: esy @test run-ci
displayName: 'Unit Tests: esy test-ci (round 1)'
env:
ASAN_OPTIONS: use_sigaltstack=0
LSAN_OPTIONS: suppressions=integration_test/lsan.supp
# TODO: Stabilize and bring back!
# - script: esy x OniUnitTestRunner
# displayName: 'Unit Tests: esy x OniUnitTestRunner (round 2)'
# - script: esy x OniUnitTestRunner
# displayName: 'Unit Tests: esy x OniUnitTestRunner (round 3)'
# - task: PublishTestResults@2
# TODO: Why is this hanging on Linux?
# displayName: 'Publish JUnit file'
# inputs:
# testResultsFormat: JUnit
# testResultsFiles: '**/*junit.xml'
# buildPlatform: ${{ parameters.platform }}
# testRunTitle: ${{ parameters.platform }}
# failTaskOnFailedTests: true
# TODO: Why is esy '@bench' install taking so long, and why is esy '@bench' build hanging on Linux / MacOS?
# - script: esy @bench install
# displayName: "Bench: install"
# - script: esy @bench build -v -v
# displayName: "Bench: build"
# - script: esy @bench run
# displayName: "Bench: run"