Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 0f697c8

Browse files
authored
Merge pull request #1238 from power-fungus/azure-ci
Set up Azure-CI
2 parents 5d4b707 + 032097c commit 0f697c8

File tree

7 files changed

+210
-0
lines changed

7 files changed

+210
-0
lines changed

.azure/linux-stack.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
jobs:
2+
- job: Linux_Stack
3+
timeoutInMinutes: 0
4+
pool:
5+
vmImage: ubuntu-16.04
6+
strategy:
7+
matrix:
8+
stack-def:
9+
YAML_FILE: stack.yaml
10+
stack-8.6.5:
11+
YAML_FILE: stack-8.6.5.yaml
12+
stack-8.6.4:
13+
YAML_FILE: stack-8.6.4.yaml
14+
stack-8.6.3:
15+
YAML_FILE: stack-8.6.3.yaml
16+
stack-8.6.2:
17+
YAML_FILE: stack-8.6.2.yaml
18+
stack-8.6.1:
19+
YAML_FILE: stack-8.6.1.yaml
20+
stack-8.4.4:
21+
YAML_FILE: stack-8.4.4.yaml
22+
stack-8.4.3:
23+
YAML_FILE: stack-8.4.3.yaml
24+
stack-8.4.2:
25+
YAML_FILE: stack-8.4.2.yaml
26+
stack-8.2.2:
27+
YAML_FILE: stack-8.2.2.yaml
28+
steps:
29+
- bash: |
30+
git submodule sync
31+
git submodule update --init
32+
displayName: Sync submodules
33+
- bash: |
34+
export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root
35+
mkdir -p ~/.local/bin
36+
curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | \
37+
tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
38+
displayName: Install stack
39+
- bash: |
40+
source .azure/linux.bashrc
41+
stack setup --stack-yaml $(YAML_FILE)
42+
displayName: Install GHC
43+
- bash: |
44+
source .azure/linux.bashrc
45+
stack --stack-yaml $(YAML_FILE) --install-ghc build --only-dependencies
46+
displayName: Build dependencies
47+
- bash: |
48+
source .azure/linux.bashrc
49+
stack build --stack-yaml $(YAML_FILE)
50+
displayName: Build `hie`
51+
- bash: |
52+
source .azure/linux.bashrc
53+
stack build --stack-yaml $(YAML_FILE) --test --bench --only-dependencies
54+
stack install --stack-yaml $(YAML_FILE) # `hie` binary required for tests
55+
stack --stack-yaml $(YAML_FILE) exec hoogle generate
56+
displayName: Build Test-dependencies
57+
- bash: |
58+
sudo apt update
59+
sudo apt install z3
60+
displayName: "Install Runtime Test-Dependencies: z3"
61+
- bash: |
62+
source .azure/linux.bashrc
63+
stack install --resolver=lts-11.18 liquid-fixpoint-0.7.0.7 dotgen-0.4.2 fgl-visualize-0.1.0.1 located-base-0.1.1.1 liquidhaskell-0.8.2.4
64+
displayName: "Install Runtime Test-Dependencies: liquidhaskell"
65+
# - bash: |
66+
# source .azure/linux.bashrc
67+
# stack test --stack-yaml $(YAML_FILE)
68+
# displayName: Run Test

.azure/linux.bashrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export PATH=$HOME/.local/bin:$PATH

.azure/macos-stack.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
jobs:
2+
- job: MacOs_Stack
3+
timeoutInMinutes: 0
4+
pool:
5+
vmImage: macOS-10.13
6+
strategy:
7+
matrix:
8+
stack-def:
9+
YAML_FILE: stack.yaml
10+
stack-8.6.5:
11+
YAML_FILE: stack-8.6.5.yaml
12+
stack-8.6.4:
13+
YAML_FILE: stack-8.6.4.yaml
14+
stack-8.6.3:
15+
YAML_FILE: stack-8.6.3.yaml
16+
stack-8.4.4:
17+
YAML_FILE: stack-8.4.4.yaml
18+
stack-8.4.3:
19+
YAML_FILE: stack-8.4.3.yaml
20+
stack-8.4.2:
21+
YAML_FILE: stack-8.4.2.yaml
22+
stack-8.2.2:
23+
YAML_FILE: stack-8.2.2.yaml
24+
steps:
25+
- bash: |
26+
git submodule sync
27+
git submodule update --init
28+
displayName: Sync submodules
29+
- bash: |
30+
export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root
31+
mkdir -p ~/.local/bin
32+
curl -skL https://get.haskellstack.org/stable/osx-x86_64.tar.gz | \
33+
tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin;
34+
displayName: Install stack
35+
- bash: |
36+
source .azure/macos.bashrc
37+
stack setup --stack-yaml $(YAML_FILE)
38+
displayName: Install GHC
39+
- bash: |
40+
source .azure/macos.bashrc
41+
stack --stack-yaml $(YAML_FILE) --install-ghc build --only-dependencies
42+
displayName: Build dependencies
43+
- bash: |
44+
source .azure/macos.bashrc
45+
stack build --stack-yaml $(YAML_FILE)
46+
displayName: Build `hie`
47+
- bash: |
48+
source .azure/macos.bashrc
49+
stack build --stack-yaml $(YAML_FILE) --test --bench --only-dependencies
50+
stack install --stack-yaml $(YAML_FILE) # `hie` binary required for tests
51+
stack --stack-yaml $(YAML_FILE) exec hoogle generate
52+
displayName: Build Test-dependencies
53+
- bash: |
54+
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
55+
brew update
56+
brew install z3
57+
displayName: "Install Runtime Test-Dependencies: z3"
58+
- bash: |
59+
source .azure/macos.bashrc
60+
stack install --resolver=lts-11.18 liquid-fixpoint-0.7.0.7 dotgen-0.4.2 fgl-visualize-0.1.0.1 located-base-0.1.1.1 liquidhaskell-0.8.2.4
61+
displayName: "Install Runtime Test-Dependencies: liquidhaskell"
62+
# - bash: |
63+
# source .azure/macos.bashrc
64+
# stack test --stack-yaml $(YAML_FILE)
65+
# displayName: Run Test

.azure/macos.bashrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export PATH=$HOME/.local/bin:$PATH

.azure/windows-stack.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
jobs:
2+
- job: Windows_Stack
3+
timeoutInMinutes: 0
4+
pool:
5+
vmImage: windows-2019
6+
strategy:
7+
matrix:
8+
stack-def:
9+
YAML_FILE: stack.yaml
10+
stack-8.6.5:
11+
YAML_FILE: stack-8.6.5.yaml
12+
stack-8.6.4:
13+
YAML_FILE: stack-8.6.4.yaml
14+
stack-8.6.2:
15+
YAML_FILE: stack-8.6.2.yaml
16+
stack-8.6.1:
17+
YAML_FILE: stack-8.6.1.yaml
18+
stack-8.4.4:
19+
YAML_FILE: stack-8.4.4.yaml
20+
stack-8.4.3:
21+
YAML_FILE: stack-8.4.3.yaml
22+
stack-8.4.2:
23+
YAML_FILE: stack-8.4.2.yaml
24+
stack-8.2.2:
25+
YAML_FILE: stack-8.2.2.yaml
26+
steps:
27+
- bash: |
28+
git submodule sync
29+
git submodule update --init
30+
displayName: Sync submodules
31+
- bash: |
32+
curl -sSkL http://www.stackage.org/stack/windows-x86_64 -o /usr/bin/stack.zip
33+
unzip -o /usr/bin/stack.zip -d /usr/bin/
34+
displayName: Install stack
35+
- bash: |
36+
source .azure/windows.bashrc
37+
stack setup --stack-yaml $(YAML_FILE)
38+
displayName: Install GHC
39+
- bash: |
40+
source .azure/windows.bashrc
41+
stack --stack-yaml $(YAML_FILE) --install-ghc build --only-dependencies
42+
displayName: Build dependencies
43+
- bash: |
44+
source .azure/windows.bashrc
45+
stack build --stack-yaml $(YAML_FILE)
46+
displayName: Build `hie`
47+
- bash: |
48+
source .azure/windows.bashrc
49+
stack build --stack-yaml $(YAML_FILE) --test --bench --only-dependencies
50+
stack install --stack-yaml $(YAML_FILE) # `hie` binary required for tests
51+
stack exec --stack-yaml $(YAML_FILE) hoogle generate
52+
displayName: Build Test-dependencies
53+
- bash: |
54+
# TODO: try to install automatically (`choco install z3` fails and pacman is not installed)
55+
mkdir -p /usr/local
56+
curl -L https://github.com/Z3Prover/z3/releases/download/Z3-4.8.5/z3-4.8.5-x64-win.zip -o /usr/local/z3.zip
57+
unzip -o /usr/local/z3.zip -d /usr/local/
58+
displayName: "Install Runtime Test-Dependencies: z3"
59+
- bash: |
60+
source .azure/windows.bashrc
61+
stack install --resolver=lts-11.18 liquid-fixpoint-0.7.0.7 dotgen-0.4.2 fgl-visualize-0.1.0.1 located-base-0.1.1.1 liquidhaskell-0.8.2.4
62+
liquid -v
63+
displayName: "Install Runtime Test-Dependencies: liquidhaskell"
64+
# - bash: |
65+
# source .azure/windows.bashrc
66+
# stack test --stack-yaml $(YAML_FILE) :unit-test
67+
# displayName: Run Test

.azure/windows.bashrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export STACK_ROOT="C:\\sr"
2+
export LOCAL_BIN_PATH=$(cygpath $APPDATA\\local\\bin)
3+
export Z3_BIN_PATH=/usr/local/z3-4.8.5-x64-win/bin
4+
export PATH=$Z3_BIN_PATH:$LOCAL_BIN_PATH:$PATH

azure-pipelines.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
jobs:
2+
- template: ./.azure/linux-stack.yml
3+
- template: ./.azure/windows-stack.yml
4+
- template: ./.azure/macos-stack.yml

0 commit comments

Comments
 (0)