aboutsummaryrefslogtreecommitdiff
path: root/azure-pipelines.yml
blob: a8b42cc72222585a3eae577b41516e224c63d80b (plain)
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
# 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'

  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 python

      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.easyname.at/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'

  - script: C:\cygwin64\bin\bash -l %cd%\dev\ci\azure-test.sh
    displayName: 'Test Coq'

- job: macOS
  pool:
    vmImage: 'macOS-10.13'

  steps:
  - checkout: self
    fetchDepth: 10

  - script: |
      set -e
      brew update
      brew unlink python
      brew install gnu-time opam

      opam init -a -j "$NJOBS" --compiler=$COMPILER
      opam switch set $COMPILER
      eval $(opam env)
      opam update
      opam install -j "$NJOBS" num ocamlfind${FINDLIB_VER} ounit
      opam list
    displayName: 'Install dependencies'
    env:
      COMPILER: "4.07.1"
      FINDLIB_VER: ".1.8.0"
      OPAMYES: "true"

  - script: |
      set -e

      eval $(opam env)
      ./configure -local -warn-error yes -native-compiler no
      make -j "$NJOBS"
    displayName: 'Build Coq'

  - script: |
      eval $(opam env)
      make -j "$NJOBS" test-suite
    displayName: 'Run Coq Test Suite'