
It appears that version 2020.07.22 or 2020.07.23 introduced a breaking change in RISC-V. We will have to fix this eventually, but for now it's easiest to just pin the QEMU version. Once this new QEMU version (version 5?) is more widely available, it becomes easier to debug and fix the underlying cause.
83 строки
2,2 КиБ
YAML
83 строки
2,2 КиБ
YAML
# Avoid lengthy LLVM rebuilds on each newly pushed branch. Pull requests will
|
|
# be built anyway.
|
|
trigger:
|
|
- release
|
|
- dev
|
|
|
|
jobs:
|
|
- job: Build
|
|
timeoutInMinutes: 240 # 4h
|
|
pool:
|
|
vmImage: 'VS2017-Win2016'
|
|
steps:
|
|
- task: GoTool@0
|
|
inputs:
|
|
version: '1.14.1'
|
|
- checkout: self
|
|
- task: CacheBeta@0
|
|
displayName: Cache LLVM source
|
|
inputs:
|
|
key: llvm-source-10-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-10-windows-v0
|
|
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 --version=2020.06.12
|
|
- task: CacheBeta@0
|
|
displayName: Cache wasi-libc sysroot
|
|
inputs:
|
|
key: wasi-libc-sysroot-v2
|
|
path: lib/wasi-libc/sysroot
|
|
- task: Bash@3
|
|
displayName: Build wasi-libc
|
|
inputs:
|
|
targetType: inline
|
|
script: PATH=/usr/bin:$PATH make wasi-libc
|
|
- task: Bash@3
|
|
displayName: Test TinyGo
|
|
inputs:
|
|
targetType: inline
|
|
script: |
|
|
export PATH="$PATH:./llvm-build/bin:/c/Program Files/qemu"
|
|
unset GOROOT
|
|
make test
|
|
- task: Bash@3
|
|
displayName: Build TinyGo release tarball
|
|
inputs:
|
|
targetType: inline
|
|
script: |
|
|
export PATH="$PATH:./llvm-build/bin:/c/Program Files/qemu"
|
|
unset GOROOT
|
|
make build/release -j4
|
|
- publish: $(System.DefaultWorkingDirectory)/build/release/tinygo
|
|
displayName: Publish zip as artifact
|
|
artifact: tinygo
|
|
- task: Bash@3
|
|
displayName: Smoke tests
|
|
inputs:
|
|
targetType: inline
|
|
script: |
|
|
export PATH="$PATH:./llvm-build/bin:/c/Program Files/qemu"
|
|
unset GOROOT
|
|
make smoketest TINYGO=build/tinygo AVR=0
|