|
57 | 57 | --data "{\"text\":\"<!here> *FAILED* $(Agent.JobName): <https://dev.azure.com/digitalasset/ghcide/_build/results?buildId=$(Build.BuildId)|$MESSAGE>\n\"}" \ |
58 | 58 | $(Slack.URL) |
59 | 59 | condition: and(failed(), eq(variables['Build.SourceBranchName'], 'master')) |
| 60 | + - job: ghcide_stack_84 |
| 61 | + timeoutInMinutes: 60 |
| 62 | + pool: |
| 63 | + vmImage: 'ubuntu-latest' |
| 64 | + steps: |
| 65 | + - checkout: self |
| 66 | + - task: CacheBeta@0 |
| 67 | + inputs: |
| 68 | + key: stack-cache-v1 | $(Agent.OS) | $(Build.SourcesDirectory)/stack84.yaml | $(Build.SourcesDirectory)/ghcide.cabal |
| 69 | + path: .azure-cache |
| 70 | + cacheHitVar: CACHE_RESTORED |
| 71 | + displayName: "Cache stack artifacts" |
| 72 | + - bash: | |
| 73 | + mkdir -p ~/.stack |
| 74 | + tar xzf .azure-cache/stack-root.tar.gz -C $HOME |
| 75 | + displayName: "Unpack cache" |
| 76 | + condition: eq(variables.CACHE_RESTORED, 'true') |
| 77 | + - bash: | |
| 78 | + ./fmt.sh |
| 79 | + displayName: "HLint via ./fmt.sh" |
| 80 | + - bash: | |
| 81 | + sudo apt-get install -y g++ gcc libc6-dev libffi-dev libgmp-dev make zlib1g-dev |
| 82 | + curl -sSL https://get.haskellstack.org/ | sh |
| 83 | + displayName: 'Install Stack' |
| 84 | + - bash: stack setup --stack-yaml=stack84.yaml |
| 85 | + displayName: 'stack setup --stack-yaml=stack84.yaml' |
| 86 | + - bash: stack build --only-dependencies --stack-yaml=stack84.yaml |
| 87 | + displayName: 'stack build --only-dependencies --stack-yaml=stack84.yaml' |
| 88 | + - bash: stack test --stack-yaml=stack84.yaml || stack test --stack-yaml=stack84.yaml || stack test --stack-yaml=stack84.yaml |
| 89 | + # ghcide stack tests are flaky, see https://github.com/digital-asset/daml/issues/2606. |
| 90 | + displayName: 'stack test --stack-yaml=stack84.yaml' |
| 91 | + - bash: | |
| 92 | + mkdir -p .azure-cache |
| 93 | + tar czf .azure-cache/stack-root.tar.gz -C $HOME .stack |
| 94 | + displayName: "Pack cache" |
| 95 | + - bash: | |
| 96 | + set -euo pipefail |
| 97 | + MESSAGE=$(git log --pretty=format:%s -n1) |
| 98 | + curl -XPOST \ |
| 99 | + -i \ |
| 100 | + -H 'Content-type: application/json' \ |
| 101 | + --data "{\"text\":\"<!here> *FAILED* $(Agent.JobName): <https://dev.azure.com/digitalasset/ghcide/_build/results?buildId=$(Build.BuildId)|$MESSAGE>\n\"}" \ |
| 102 | + $(Slack.URL) |
| 103 | + condition: and(failed(), eq(variables['Build.SourceBranchName'], 'master')) |
0 commit comments