@@ -0,0 +1,143 @@
2+# Start with a minimal pipeline that you can customize to build and deploy your code.
3+# Add steps that build, run tests, deploy, and more:
6+ # Test a configuration with the oldest supported GHC
9+ vmImage: 'Ubuntu 16.04'
12+ sudo add-apt-repository ppa:hvr/ghc
14+ sudo apt-get install ghc-7.10.3 cabal-install-2.2
15+ sudo update-alternatives --config opt-ghc
16+ sudo update-alternatives --config opt-cabal
17+ displayName: 'Prepare system'
19+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
21+ CABALFLAGS="-fffi -fci" make
22+ displayName: 'Build Idris'
24+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
26+ displayName: 'Run tests'
30+ vmImage: 'Ubuntu 16.04'
33+ sudo add-apt-repository ppa:hvr/ghc
35+ sudo apt-get install ghc-8.2.2 cabal-install-2.2
36+ sudo update-alternatives --config opt-ghc
37+ sudo update-alternatives --config opt-cabal
38+ displayName: 'Prepare system'
40+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
42+ CABALFLAGS="-fffi -fci" make
43+ displayName: 'Build Idris'
45+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
47+ displayName: 'Run tests'
51+ vmImage: 'xcode9-macos10.13'
54+ brew install ghc cabal-install libffi pkgconfig
55+ export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig:$PKG_CONFIG_PATH
56+ export PATH=$HOME/.cabal/bin:$PATH
58+ CABALFLAGS="-fffi -fci" make
60+ displayName: 'Build idris and run tests'
64+ vmImage: 'vs2017-win2016'
67+ choco install cabal -y --no-progress
68+ choco install 7zip.portable -y --no-progress
69+ choco install msys2 -y --no-progress --params "/InstallDir=C:/msys64/"
71+ Invoke-WebRequest "http://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-unknown-mingw32.tar.xz" -OutFile C:\ghc\ghc.tar.xz -UserAgent "Curl"
72+ 7z x C:\ghc\ghc.tar.xz -oC:\ghc
73+ 7z x C:\ghc\ghc.tar -oC:\ghc
74+ displayName: "Setting up environment"
77+ $env:PATH="$env:PATH;$HOME\AppData\Roaming\cabal\bin;c:\ghc\ghc-8.4.3\bin"
78+ $env:current_posix=c:\msys64\usr\bin\cygpath -u $(pwd)
79+ c:\msys64\usr\bin\bash -l -c "echo `$MSYSTEM && echo `$PATH"
80+ c:\msys64\usr\bin\bash -l -c "pacman -S make mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config mingw-w64-x86_64-libffi --noconfirm 2>&1"
81+ c:\msys64\usr\bin\bash -l -c "cd $env:current_posix && cabal install -fffi --enable-test 2>&1"
82+ c:\msys64\usr\bin\bash -l -c "cd $env:current_posix && make test_c 2>&1"
85+ MSYS2_PATH_TYPE: inherit
86+ displayName: "Build and test Idris"
90+ vmImage: 'Ubuntu 16.04'
93+ sudo add-apt-repository ppa:hvr/ghc
95+ sudo apt-get install ghc-8.2.2 cabal-install-2.2
96+ sudo update-alternatives --config opt-ghc
97+ sudo update-alternatives --config opt-cabal
98+ displayName: 'Prepare system'
100+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
102+ cabal install stylish-haskell
104+ displayName: 'Run stylish'
105+ # Run tests on the node backend
108+ vmImage: 'Ubuntu 16.04'
111+ sudo add-apt-repository ppa:hvr/ghc
113+ sudo apt-get install ghc-8.2.2 cabal-install-2.2
114+ sudo update-alternatives --config opt-ghc
115+ sudo update-alternatives --config opt-cabal
116+ displayName: 'Prepare system'
118+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
120+ CABALFLAGS="-fffi -fci" make
121+ displayName: 'Build Idris'
123+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
125+ displayName: 'Run tests'
129+ vmImage: 'Ubuntu 16.04'
132+ sudo add-apt-repository ppa:hvr/ghc
134+ sudo apt-get install ghc-8.2.2 cabal-install-2.2
135+ sudo update-alternatives --config opt-ghc
136+ sudo update-alternatives --config opt-cabal
137+ displayName: 'Prepare system'
139+ export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
141+ CABALFLAGS="-fffi -fci" make
143+ displayName: 'Build Docs'