diff --git a/.azure/linux-stack.yml b/.azure/linux-stack.yml index a7e636913..5b88f37b4 100644 --- a/.azure/linux-stack.yml +++ b/.azure/linux-stack.yml @@ -25,13 +25,30 @@ jobs: YAML_FILE: stack-8.4.2.yaml stack-8.2.2: YAML_FILE: stack-8.2.2.yaml + variables: + STACK_ROOT: /home/vsts/.stack steps: + - task: CacheBeta@0 + inputs: + key: | + "cache" + $(Agent.OS) + $(Build.SourcesDirectory)/$(YAML_FILE) + path: .azure-cache + cacheHitVar: CACHE_RESTORED + displayName: "Download cache" + - bash: | + mkdir -p $STACK_ROOT + tar -xzf .azure-cache/stack-root.tar.gz -C / + mkdir -p .stack-work + tar -xzf .azure-cache/stack-work.tar.gz + displayName: "Unpack cache" + condition: eq(variables.CACHE_RESTORED, 'true') - bash: | git submodule sync git submodule update --init displayName: Sync submodules - bash: | - export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root mkdir -p ~/.local/bin curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | \ tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' @@ -66,3 +83,8 @@ jobs: # source .azure/linux.bashrc # stack test --stack-yaml $(YAML_FILE) # displayName: Run Test + - bash: | + mkdir -p .azure-cache + tar -czf .azure-cache/stack-root.tar.gz $STACK_ROOT + tar -czf .azure-cache/stack-work.tar.gz .stack-work + displayName: "Pack cache" diff --git a/.azure/macos-stack.yml b/.azure/macos-stack.yml index 86644471e..fa005842f 100644 --- a/.azure/macos-stack.yml +++ b/.azure/macos-stack.yml @@ -21,13 +21,30 @@ jobs: YAML_FILE: stack-8.4.2.yaml stack-8.2.2: YAML_FILE: stack-8.2.2.yaml + variables: + STACK_ROOT: /Users/vsts/.stack steps: + - task: CacheBeta@0 + inputs: + key: | + "cache" + $(Agent.OS) + $(Build.SourcesDirectory)/$(YAML_FILE) + path: .azure-cache + cacheHitVar: CACHE_RESTORED + displayName: "Download cache" + - bash: | + mkdir -p $STACK_ROOT + tar -xzf .azure-cache/stack-root.tar.gz -C / + mkdir -p .stack-work + tar -xzf .azure-cache/stack-work.tar.gz + displayName: "Unpack cache" + condition: eq(variables.CACHE_RESTORED, 'true') - bash: | git submodule sync git submodule update --init displayName: Sync submodules - bash: | - export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root mkdir -p ~/.local/bin curl -skL https://get.haskellstack.org/stable/osx-x86_64.tar.gz | \ tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin; @@ -63,3 +80,8 @@ jobs: # source .azure/macos.bashrc # stack test --stack-yaml $(YAML_FILE) # displayName: Run Test + - bash: | + mkdir -p .azure-cache + tar -czf .azure-cache/stack-root.tar.gz $STACK_ROOT + tar -czf .azure-cache/stack-work.tar.gz .stack-work + displayName: "Pack cache" diff --git a/.azure/windows-stack.yml b/.azure/windows-stack.yml index 4187ec03c..1dec036dc 100644 --- a/.azure/windows-stack.yml +++ b/.azure/windows-stack.yml @@ -23,7 +23,26 @@ jobs: YAML_FILE: stack-8.4.2.yaml stack-8.2.2: YAML_FILE: stack-8.2.2.yaml + variables: + STACK_ROOT: "C:\\sr" + steps: + - task: CacheBeta@0 + inputs: + key: | + "stack-root" + $(Agent.OS) + $(Build.SourcesDirectory)/$(YAML_FILE) + path: $(STACK_ROOT) + displayName: "Cache stack-root" + - task: CacheBeta@0 + inputs: + key: | + "stack-work" + $(Agent.OS) + $(Build.SourcesDirectory)/$(YAML_FILE) + path: .stack-work + displayName: "Cache stack-work" - bash: | git submodule sync git submodule update --init diff --git a/.azure/windows.bashrc b/.azure/windows.bashrc index 8de96772d..724f2795d 100644 --- a/.azure/windows.bashrc +++ b/.azure/windows.bashrc @@ -1,4 +1,3 @@ -export STACK_ROOT="C:\\sr" export LOCAL_BIN_PATH=$(cygpath $APPDATA\\local\\bin) export Z3_BIN_PATH=/usr/local/z3-4.8.5-x64-win/bin export PATH=$Z3_BIN_PATH:$LOCAL_BIN_PATH:$PATH