enso/azure-pipelines.yml
2019-11-08 17:32:48 +00:00

148 lines
4.8 KiB
YAML

# https://aka.ms/yaml
trigger:
branches:
include: [ "*" ]
paths:
exclude:
- .github/*
- doc/*
- .gitignore
- .scalafmt.conf
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- LICENSE
- README.md
pr: none
variables:
graalVersion: 19.2.1 # Please ensure this is in sync with the graalAPIVersion in build.sbt
sbtVersion: 1.3.3 # Please ensure this is in sync with project/build.properties
jobs:
- job: Linux
timeoutInMinutes: 90
pool:
vmImage: 'Ubuntu-16.04'
container:
image: oracle/graalvm-ce:$(graalVersion)
options: "--name ci-container -v /usr/bin/docker:/tmp/docker:ro"
steps:
- script: /tmp/docker exec -t -u 0 ci-container sh -c "yum install -y sudo"
displayName: Setup Sudo
- script: |
curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz
tar -x -z -C ~ -f sbt.tgz
echo "##vso[task.setvariable variable=PATH]~/sbt/bin/:$PATH"
displayName: Install SBT
- script: |
sbt -no-colors test
displayName: Test All
continueOnError: true
- script: |
sbt -no-colors syntax/bench
displayName: Benchmark the Parser
continueOnError: true
- script: |
sbt -no-colors runtime/Benchmark/compile
displayName: Check Runtime Benchmarks Compile
continueOnError: true
- task: PublishTestResults@2
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '**/TEST-*.xml'
- script: |
sbt runtime/assembly
displayName: Build the Uberjar
continueOnError: true
- task: CopyFiles@2
inputs:
contents: "enso.jar"
TargetFolder: "$(Build.ArtifactStagingDirectory)"
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: "$(Build.ArtifactStagingDirectory)"
artifactName: enso-cli
- script: |
echo "##vso[task.complete result=Failed;]DONE"
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues')
displayName: Fail on Issues
- job: macOS
timeoutInMinutes: 90
pool:
vmImage: macOS-10.13
steps:
- script: |
curl -fSL -o graal.tar.gz https://github.com/oracle/graal/releases/download/vm-$(graalVersion)/graalvm-ce-darwin-amd64-$(graalVersion).tar.gz
tar -x -z -C ~ -f graal.tar.gz
ls ~/graalvm-ce-$(graalVersion)
sudo mv ~/graalvm-ce-$(graalVersion) /Library/Java/JavaVirtualMachines
echo "##vso[task.setvariable variable=JAVA_HOME]/Library/Java/JavaVirtualMachines/graalvm-ce-$(graalVersion)/Contents/Home"
echo "##vso[task.setvariable variable=PATH]/Library/Java/JavaVirtualMachines/graalvm-ce-$(graalVersion)/Contents/Home/bin:$PATH"
displayName: Install GraalVM
- script: |
curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz
tar -x -z -C ~ -f sbt.tgz
echo "##vso[task.setvariable variable=PATH]~/sbt/bin/:$PATH"
displayName: Install SBT
- script: |
sbt -no-colors test
displayName: Test All
continueOnError: true
- script: |
sbt -no-colors syntax/bench
displayName: Benchmark the Parser
continueOnError: true
- script: |
sbt -no-colors runtime/Benchmark/compile
displayName: Check Runtime Benchmarks Compile
continueOnError: true
- task: PublishTestResults@2
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '**/TEST-*.xml'
- script: |
echo "##vso[task.complete result=Failed;]DONE"
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues')
displayName: Fail on Issues
- job: Windows
timeoutInMinutes: 90
pool:
vmImage: windows-2019
steps:
- script: |
curl -fSL -o graal.zip https://github.com/oracle/graal/releases/download/vm-$(graalVersion)/graalvm-ce-windows-amd64-$(graalVersion).zip
7z x -y -oC:\ graal.zip
displayName: Install GraalVM
- script: |
curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz
tar -x -z -C %USERPROFILE% -f sbt.tgz
displayName: Install SBT
- script: |
call refreshenv
echo ##vso[task.setvariable variable=JAVA_HOME]C:\graalvm-ce-$(graalVersion)
echo ##vso[task.setvariable variable=PATH]C:\graalvm-ce-$(graalVersion)\bin;%PATH%
echo ##vso[task.setvariable variable=PATH]%USERPROFILE%\sbt\bin\;%PATH%
displayName: Adjust Environment Variables
- script: |
sbt.bat test
continueOnError: true
displayName: Test All
- script: |
sbt syntax/bench
displayName: Benchmark the Parser
continueOnError: true
- script: |
sbt runtime/Benchmark/compile
displayName: Check Runtime Benchmarks Compile
continueOnError: true
- task: PublishTestResults@2
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '**/TEST-*.xml'
- script: |
echo "##vso[task.complete result=Failed;]DONE"
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues')
displayName: Fail on Issues