55 vmImage : ubuntu-16.04
66 strategy :
77 matrix :
8+ # Fail with compilation error building haddock-api
9+ # ghc-8.8.2:
10+ # GHC_VERSION: "8.8.2"
11+ ghc-8.8.1 :
12+ GHC_VERSION : " 8.8.1"
813 ghc-8.6.5 :
914 GHC_VERSION : " 8.6.5"
1015 ghc-8.4.4 :
1116 GHC_VERSION : " 8.4.4"
1217 variables :
1318 CABAL_VERSION : " 3.0"
19+ LIQUID_VERSION : " 0.8.6.2"
1420 steps :
1521 - task : Cache@2
1622 inputs :
17- key : ' "cabal-store " | "$(Agent.OS)" | "$(CABAL_VERSION)" | "$(GHC_VERSION)" | $(Build.SourcesDirectory)/cabal.project | $(Build.SourcesDirectory)/haskell-ide-engine.cabal | $(Build.SourcesDirectory)/hie-plugin-api/hie-plugin-api.cabal'
23+ key : ' "cabal" | "$(Agent.OS)" | "$(CABAL_VERSION)" | "$(GHC_VERSION)" | $(Build.SourcesDirectory)/cabal.project | $(Build.SourcesDirectory)/haskell-ide-engine.cabal | $(Build.SourcesDirectory)/hie-plugin-api/hie-plugin-api.cabal'
1824 path : .azure-cache
1925 cacheHitVar : CACHE_RESTORED
2026 displayName : " Download cache"
@@ -23,26 +29,34 @@ jobs:
2329 tar -vxzf .azure-cache/cabal-root.tar.gz -C /
2430 mkdir -p $HOME/.ghc
2531 tar -vxzf .azure-cache/ghc-root.tar.gz -C /
26- mkdir -p dist-newtyle
32+ mkdir -p dist-newstyle
2733 tar -vxzf .azure-cache/cabal-dist.tar.gz
2834 displayName: "Unpack cache"
2935 condition: eq(variables.CACHE_RESTORED, 'true')
3036 - bash : |
3137 git submodule sync
3238 git submodule update --init
3339 displayName: Sync submodules
40+ - bash : |
41+ # To install ghc if they are not yet included in the agent image
42+ ghc --version || (sudo apt-get update && sudo apt-get install -y ghc-$GHC_VERSION)
43+ displayName: Install ghc
3444 - bash : |
3545 source .azure/linux-cabal.bashrc
3646 cabal v2-update
37- cabal v2-build --only-dependencies
47+ echo "overwrite-policy: always" >> $HOME/.cabal/config
48+ displayName: Update cabal
49+ - bash : |
50+ source .azure/linux-cabal.bashrc
51+ cabal v2-build --disable-tests --disable-benchmarks --only-dependencies
3852 displayName: Build dependencies
3953 - bash : |
4054 source .azure/linux-cabal.bashrc
41- cabal v2-build
55+ cabal v2-build --disable-tests --disable-benchmarks
4256 displayName: Build `hie`
4357 - bash : |
4458 source .azure/linux-cabal.bashrc
45- cabal v2-install --overwrite-policy=always # `hie` binary required locally for tests
59+ cabal v2-install # `hie` binary required locally for tests
4660 displayName: Install `hie`
4761 - bash : |
4862 source .azure/linux-cabal.bashrc
5468 displayName: "Install Runtime Test-Dependencies: z3"
5569 - bash : |
5670 source .azure/linux-cabal.bashrc
57- # to not reinstall hie
5871 cd $(Agent.TempDirectory)
59- cabal v2-install liquidhaskell-0.8.6.2 -w /opt/ghc/8.6.5/bin/ghc --overwrite-policy=always
72+ cabal v2-install liquidhaskell-$LIQUID_VERSION -w /opt/ghc/8.6.5/bin/ghc
6073 displayName: "Install Runtime Test-Dependencies: liquidhaskell"
6174 - bash : |
6275 source .azure/linux-cabal.bashrc
6578 displayName: "Install Runtime Test-Dependencies: hoogle database"
6679 - bash : |
6780 source .azure/linux-cabal.bashrc
68- # TODO: Investigate why the test suite can't be run in parallel
69- cabal v2-test -j1
70- displayName: Run Test
81+ cabal v2-test :unit-test
82+ displayName: "Run Test: unit-test"
83+ - bash : |
84+ source .azure/linux-cabal.bashrc
85+ cabal v2-test :dispatcher-test :plugin-dispatcher-test :wrapper-test
86+ displayName: "Run Test: dispatcher-test, plugin-dispatcher-test and wrapper-test"
87+ - bash : |
88+ source .azure/linux-cabal.bashrc
89+ cabal v2-test :func-test
90+ displayName: "Run Test: func-test"
7191 - bash : |
7292 mkdir -p .azure-cache
7393 tar -vczf .azure-cache/cabal-root.tar.gz $HOME/.cabal
0 commit comments