-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
122 lines (99 loc) · 3.74 KB
/
azure-pipelines.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
# NB: image names can be found at
# https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted
variables:
NJOBS: "2"
jobs:
- job: Windows
pool:
vmImage: 'vs2017-win2016'
# Equivalent to allow_failure: true
# continueOnError: true
steps:
- checkout: self
fetchDepth: 10
# cygwin package list not checked for minimality
- script: |
powershell -Command "(New-Object Net.WebClient).DownloadFile('http://www.cygwin.com/setup-x86_64.exe', 'setup-x86_64.exe')"
SET CYGROOT=C:\cygwin64
SET CYGCACHE=%CYGROOT%\var\cache\setup
setup-x86_64.exe -qnNdO -R %CYGROOT% -l %CYGCACHE% -s %CYGMIRROR% -P rsync -P patch -P diffutils -P make -P unzip -P m4 -P findutils -P time -P wget -P curl -P git -P mingw64-x86_64-binutils,mingw64-x86_64-gcc-core,mingw64-x86_64-gcc-g++,mingw64-x86_64-pkg-config,mingw64-x86_64-windows_default_manifest -P mingw64-x86_64-headers,mingw64-x86_64-runtime,mingw64-x86_64-pthreads,mingw64-x86_64-zlib -P python3
SET TARGET_ARCH=x86_64-w64-mingw32
SET CD_MFMT=%cd:\=/%
SET RESULT_INSTALLDIR_CFMT=%CD_MFMT:C:/=/cygdrive/c/%
C:\cygwin64\bin\bash -l %cd%\dev\build\windows\configure_profile.sh
displayName: 'Install cygwin'
env:
CYGMIRROR: "http://mirror.cs.vt.edu/pub/cygwin/cygwin"
- script: C:\cygwin64\bin\bash -l %cd%\dev\ci\azure-opam.sh
displayName: 'Install opam'
- script: C:\cygwin64\bin\bash -l %cd%\dev\ci\azure-build.sh
displayName: 'Build Coq'
# We are hitting a bug where Dune is rebuilding Coq to run the
# test-suite, also it seems to time out, so we just build for now
#
# - script: C:\cygwin64\bin\bash -l %cd%\dev\ci\azure-test.sh
# displayName: 'Test Coq'
- publish: _build/log
artifact: Dune Build Log
condition: always()
- job: macOS
pool:
vmImage: 'macOS-10.14'
variables:
MACOSX_DEPLOYMENT_TARGET: '10.11'
steps:
- checkout: self
fetchDepth: 10
- script: |
set -e
brew update
(cd $(brew --repository)/Library/Taps/homebrew/homebrew-core/ && git fetch --shallow-since=${HBCORE_DATE} && git checkout ${HBCORE_REF})
brew install gnu-time opam pkg-config gtksourceview3 adwaita-icon-theme
pip3 install macpack
displayName: 'Install system dependencies'
env:
HOMEBREW_NO_AUTO_UPDATE: "1"
HBCORE_DATE: "2019-09-03"
HBCORE_REF: "44ee64cf4b9f2d2bf000758d356db0c77425e42e"
- script: |
set -e
export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig
opam init -a -j "$NJOBS" --compiler=ocaml-base-compiler.$COMPILER
opam switch set ocaml-base-compiler.$COMPILER
eval $(opam env)
opam update
opam install -j "$NJOBS" num ocamlfind${FINDLIB_VER} ounit lablgtk3-sourceview3
opam list
displayName: 'Install OCaml dependencies'
env:
COMPILER: "4.10.0"
FINDLIB_VER: ".1.8.1"
OPAMYES: "true"
- script: |
set -e
eval $(opam env)
./configure -prefix '$(Build.BinariesDirectory)' -warn-error yes -native-compiler no -coqide opt
make -j "$NJOBS" byte
make -j "$NJOBS"
displayName: 'Build Coq'
- script: |
eval $(opam env)
export OCAMLPATH=$(pwd):"$OCAMLPATH"
make -j "$NJOBS" test-suite PRINT_LOGS=1
displayName: 'Run Coq Test Suite'
- script: |
make install
displayName: 'Install Coq'
- script: |
set -e
eval $(opam env)
export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig
./dev/build/osx/make-macos-dmg.sh
mv _build/*.dmg "$(Build.ArtifactStagingDirectory)/"
displayName: 'Create the dmg bundle'
env:
OUTDIR: '$(Build.BinariesDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: coq-macOS-installer