on warp-3.3.9 help sign in
typeable/wai/.azure/azure-linux-template.yml
93 lines 3.2 kB history raw
1jobs:
2- job: ${{ parameters.name }}
3 timeoutInMinutes: 180
4 pool:
5 vmImage: ${{ parameters.vmImage }}
6 strategy:
7 matrix:
8 stack-lts-11:
9 BUILD: stack
10 STACK_YAML: stack-lts-11.yaml
11 ARGS: "--resolver lts-11"
12 stack-lts-12:
13 BUILD: stack
14 STACK_YAML: stack-lts-12.yaml
15 ARGS: "--resolver lts-12"
16 stack-lts-14:
17 BUILD: stack
18 ARGS: "--resolver lts-14"
19 stack-nightly:
20 BUILD: stack
21 STACK_YAML: stack-nightly.yaml
22 ARGS: "--resolver nightly"
23 cabal-8.2.2:
24 BUILD: cabal
25 GHCVER: 8.4.4
26 CABALVER: 2.0
27 cabal-8.4.4:
28 BUILD: cabal
29 GHCVER: 8.4.4
30 CABALVER: 2.2
31 cabal-8.6.5:
32 BUILD: cabal
33 GHCVER: 8.6.5
34 CABALVER: 2.4
35 maxParallel: 6
36 steps:
37 - script: |
38 export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root;
39 mkdir -p ~/.local/bin
40 curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
41 case "$BUILD" in
42 cabal)
43 sudo add-apt-repository -y ppa:hvr/ghc
44 sudo apt-get update
45 sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER
46 # See note here: https://github.com/haskell-CI/haskell-ci#alex--happy-with-ghc--78
47 if [ "$GHCVER" = "head" ] || [ "${GHCVER%.*}" = "7.8" ] || [ "${GHCVER%.*}" = "7.10" ]; then
48 sudo apt-get install happy-1.19.4 alex-3.1.3
49 export PATH=/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:$PATH
50 else
51 sudo apt-get install happy alex
52 fi
53 export PATH=$HOME/.local/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
54 cabal --version
55 cabal update
56 PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
57 cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
58 ;;
59 *)
60 export PATH=$HOME/.local/bin:$PATH
61 stack --install-ghc $ARGS test --bench --only-dependencies
62 ;;
63 esac
64 set -ex
65 case "$BUILD" in
66 cabal)
67 cabal install --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
69 ORIGDIR=$(pwd)
70 for dir in $PACKAGES
71 do
72 cd $dir
73 cabal check || [ "$CABALVER" == "1.22" ] # https://github.com/yesodweb/wai/pull/754#issuecomment-504866279
74 cabal sdist
75 PKGVER=$(cabal info . | awk '{print $2;exit}')
76 SRC_TGZ=$PKGVER.tar.gz
77 cd dist
78 tar zxfv "$SRC_TGZ"
79 cd "$PKGVER"
80 cabal configure --enable-tests --ghc-options -O0
81 cabal build
82 cabal test --show-details=streaming
83 cd $ORIGDIR
84 done
85 ;;
86 *)
87 stack $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps
88 ;;
89 esac
90 set +ex
91 env:
92 OS_NAME: ${{ parameters.os }}
93 displayName: 'Installation ${{parameters.os}} & Test'