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