aboutsummaryrefslogtreecommitdiffhomepage
path: root/azure-pipelines.yml
diff options
context:
space:
mode:
Diffstat (limited to 'azure-pipelines.yml')
-rw-r--r--azure-pipelines.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 000000000..1b5e478c7
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,61 @@
+jobs:
+- job: Build
+ timeoutInMinutes: 180
+ pool:
+ vmImage: 'VS2017-Win2016'
+ steps:
+ - checkout: self
+ - task: CacheBeta@0
+ displayName: Cache LLVM source
+ inputs:
+ key: llvm-source-8-windows-v0
+ path: llvm-project
+ - task: Bash@3
+ displayName: Download LLVM source
+ inputs:
+ targetType: inline
+ script: make llvm-source
+ - task: CacheBeta@0
+ displayName: Cache LLVM build
+ inputs:
+ key: llvm-build-8-windows-v1
+ path: llvm-build
+ - task: Bash@3
+ displayName: Build LLVM
+ inputs:
+ targetType: inline
+ script: |
+ if [ ! -f llvm-build/lib/liblldELF.a ]
+ then
+ choco install ninja
+ make llvm-build
+ fi
+ - task: Bash@3
+ displayName: Install QEMU
+ inputs:
+ targetType: inline
+ script: choco install qemu
+ - task: Bash@3
+ displayName: Test TinyGo
+ inputs:
+ targetType: inline
+ script: |
+ export PATH="$PATH:./llvm-build/bin:/c/Program Files/qemu"
+ make test
+ - task: Bash@3
+ displayName: Build TinyGo release tarball
+ inputs:
+ targetType: inline
+ script: |
+ export PATH="$PATH:./llvm-build/bin:/c/Program Files/qemu"
+ make release -j4
+ - publish: $(System.DefaultWorkingDirectory)/build/release.tar.gz
+ displayName: Publish tarball as artifact
+ artifact: tinygo.windows-amd64.tar.gz
+ - task: Bash@3
+ displayName: Smoke tests
+ inputs:
+ targetType: inline
+ script: |
+ export PATH="$PATH:./llvm-build/bin:/c/Program Files/qemu"
+ make smoketest TINYGO=build/tinygo AVR=0 RISCV=0