Adding Azure pipelines to handle ARM

This commit is contained in:
Syrus 2020-03-30 14:18:36 -07:00
parent 4746d04c44
commit 8e144a457b
4 changed files with 34 additions and 85 deletions

View File

@ -26,8 +26,22 @@ steps:
echo "##vso[task.prependpath]$LLVM_PATH/bin"
echo "##vso[task.setvariable variable=LLVM_SYS_80_PREFIX]$LLVM_PATH"
fi
displayName: "Install LLVM (Linux)"
condition: eq(variables['Agent.OS'], 'Linux')
displayName: "Install LLVM (Linux X64)"
condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OSArchitecture'], 'X64'))
- bash: |
set -ex
if [ -x "`command -v llvm-config`" ]; then
echo `command -v llvm-config` `llvm-config --version` installed
else
curl -O https://releases.llvm.org/8.0.0/clang+llvm-8.0.0-aarch64-linux-gnu.tar.xz
tar xf clang+llvm-8.0.0-aarch64-linux-gnu.tar.xz
export LLVM_PATH="`pwd`/clang+llvm-8.0.0-aarch64-linux-gnu/"
echo "##vso[task.prependpath]$LLVM_PATH/bin"
echo "##vso[task.setvariable variable=LLVM_SYS_80_PREFIX]$LLVM_PATH"
fi
displayName: "Install LLVM (Linux ARM)"
condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OSArchitecture'], 'ARM64'))
- bash: |
set -ex

View File

@ -9,8 +9,12 @@ steps:
curl -L https://github.com/mozilla/sccache/releases/download/0.2.10/sccache-0.2.10-x86_64-unknown-linux-musl.tar.gz | tar xzf -
sccache=`pwd`/sccache-0.2.10-x86_64-unknown-linux-musl/sccache
echo "##vso[task.setvariable variable=RUSTC_WRAPPER;]$sccache"
displayName: Install sccache - Linux
condition: eq( variables['Agent.OS'], 'Linux' )
displayName: Install sccache - Linux X64
condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OSArchitecture'], 'X64'))
# - bash: |
# echo "##vso[task.setvariable variable=RUSTC_WRAPPER;]sccache"
# displayName: Install sccache - Linux ARM
# condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OSArchitecture'], 'ARM64'))
- bash: |
set -ex
brew install openssl@1.1
@ -32,7 +36,7 @@ steps:
$RUSTC_WRAPPER -s
cat sccache.log
displayName: "start sccache"
condition: not(eq( variables['Agent.OS'], 'Windows_NT' ))
condition: not(or(eq( variables['Agent.OS'], 'Windows_NT' ), eq(variables['Agent.OSArchitecture'], 'ARM64')))
env:
SCCACHE_AZURE_CONNECTION_STRING: $(SCCACHE_AZURE_CONNECTION_STRING)
SCCACHE_AZURE_BLOB_CONTAINER: $(SCCACHE_AZURE_BLOB_CONTAINER)

View File

@ -1,75 +0,0 @@
arch:
- arm64
language: rust
install: travis_retry
rust:
- nightly-2019-12-19
cache:
directories:
- /home/travis/.sccache/
- /home/travis/.cargo/bin/
script:
# Sccache
# - curl -L https://github.com/mozilla/sccache/releases/download/0.2.10/sccache-0.2.10-x86_64-unknown-linux-musl.tar.gz | tar xzf -
# - export RUSTC_WRAPPER=`pwd`/sccache-0.2.10-x86_64-unknown-linux-musl/sccache
- test -f /home/travis/.cargo/bin/sccache || travis_retry cargo install sccache
- export RUSTC_WRAPPER=/home/travis/.cargo/bin/sccache
- mkdir -p /home/travis/.sccache/
- export SCCACHE_DIR="/home/travis/.sccache/"
- SCCACHE_ERROR_LOG=`pwd`/sccache.log RUST_LOG=debug $RUSTC_WRAPPER --start-server
- $RUSTC_WRAPPER -s
# Tests
- make spectests-singlepass
before_deploy:
# Release
- make release-singlepass
- mkdir -p artifacts
# Make capi
## Disable capi tests for now:
## They are failing because trampolines are not yet implemented for ARM
# - make test-capi-singlepass
- make capi-singlepass
- make build-capi-package
- cp ./wasmer-c-api.tar.gz ./artifacts/$(./scripts/capi-name.sh)
# Build WAPM
- make build-wapm
# Make package
- make build-install-package
- cp ./wasmer.tar.gz ./artifacts/$(./scripts/binary-name.sh)
# before_deploy:
# # Set up git user name and tag this commit
# - git config --local user.name "Syrus Akbary"
# - git config --local user.email "syrus@wasmer.io"
# - export TRAVIS_TAG="0.10.2"
# # - git tag $TRAVIS_TAG
deploy:
provider: releases
file_glob: true
file: artifacts/*
api_key: $GITHUB_OAUTH_TOKEN
# This is set to the previous artifacts are not deleted by travis
skip_cleanup: true
on:
tags: true
# branch: feature/singlepass-aarch64
addons:
apt:
packages:
- cmake
branches:
only:
- master
- staging
- trying
# Making sure Travis runs on new Tags
- /^\d+\.\d+(\.\d+)?(-\S*)?$/
- /^v\d+\.\d+(\.\d+)?(-\S*)?$/

View File

@ -81,7 +81,10 @@ jobs:
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
- bash: make test
displayName: Tests (*nix)
condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT')))
condition: and(succeeded(), eq(variables['Agent.OSArchitecture'], 'X64'), not(eq(variables['Agent.OS'], 'Windows_NT')))
- bash: make spectests-singlepass
displayName: Tests (Linux ARM)
condition: and(succeeded(), eq(variables['Agent.OSArchitecture'], 'ARM64'))
- bash: make spectests-cranelift
displayName: Tests (Windows)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
@ -134,11 +137,14 @@ jobs:
mkdir -p artifacts
displayName: Create Artifacts Dir
- bash: make release
displayName: Build (*nix)
condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT')))
displayName: Build (*nix X64)
condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT')), eq(variables['Agent.OSArchitecture'], 'X64'))
- bash: sudo apt-get install musl-tools && make release-musl
displayName: Build (Linux, x86_64-unknown-linux-musl)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OSArchitecture'], 'X64'))
- bash: make release-singlepass
displayName: Build (ARM)
condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT')), eq(variables['Agent.OSArchitecture'], 'ARM64'))
- bash: make release-llvm
displayName: Build (Windows)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
@ -204,7 +210,7 @@ jobs:
- bash: |
make test-capi
displayName: Test c-api
condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT')))
condition: and(succeeded(), eq(variables['Agent.OSArchitecture'], 'X64'), not(eq(variables['Agent.OS'], 'Windows_NT')))
- bash: |
make capi
displayName: Build c-api