# 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.3.0 # Please ensure this is in sync with the graalAPIVersion in build.sbt graalReleasesUrl: https://github.com/graalvm/graalvm-ce-builds/releases/download graalDistributionName: graalvm-ce-java8 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)-java8 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 syntaxJS/test displayName: Test JS continueOnError: true - 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 language_server/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 $(graalReleasesUrl)/vm-$(graalVersion)/$(graalDistributionName)-darwin-amd64-$(graalVersion).tar.gz tar -x -z -C ~ -f graal.tar.gz ls ~/$(graalDistributionName)-$(graalVersion) sudo mv ~/$(graalDistributionName)-$(graalVersion) /Library/Java/JavaVirtualMachines echo "##vso[task.setvariable variable=JAVA_HOME]/Library/Java/JavaVirtualMachines/$(graalDistributionName)-$(graalVersion)/Contents/Home" echo "##vso[task.setvariable variable=PATH]/Library/Java/JavaVirtualMachines/$(graalDistributionName)-$(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 syntaxJS/test displayName: Test JS continueOnError: true - 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 $(graalReleasesUrl)/vm-$(graalVersion)/$(graalDistributionName)-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:\$(graalDistributionName)-$(graalVersion) echo ##vso[task.setvariable variable=PATH]C:\$(graalDistributionName)-$(graalVersion)\bin;%PATH% echo ##vso[task.setvariable variable=PATH]%USERPROFILE%\sbt\bin\;%PATH% displayName: Adjust Environment Variables - script: | sbt 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