Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP][stalled] ARM Build in Docker in Travis #1149

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
369 changes: 189 additions & 180 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,186 +2,192 @@ sudo: false

language: generic

dist: precise
# dist: precise

git:
depth: 10

addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.5
packages:
- clang-3.5
# apt:
# sources:
# - ubuntu-toolchain-r-test
# - llvm-toolchain-precise-3.5
# packages:
# - clang-3.5

services:
- docker

matrix:
include:
# Linux
- os: linux
compiler: clang
env: NODE_VERSION="11"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
- os: linux
compiler: clang
env: NODE_VERSION="10"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
- os: linux
compiler: clang
env: NODE_VERSION="9"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="8"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="7"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="6"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="5"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="4"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
# test building against external sqlite
- os: linux
compiler: clang
env: NODE_VERSION="8" EXTERNAL_SQLITE=true PUBLISHABLE=false
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5','libsqlite3-dev']
# OS X
- os: osx
compiler: clang
env: NODE_VERSION="11" # node abi 67
- os: osx
compiler: clang
env: NODE_VERSION="10" # node abi 64
- os: osx
compiler: clang
env: NODE_VERSION="9" # node abi 59
- os: osx
compiler: clang
env: NODE_VERSION="8" # node abi 57
- os: osx
compiler: clang
env: NODE_VERSION="7" # node abi 51
- os: osx
compiler: clang
env: NODE_VERSION="6" # node abi 48
- os: osx
compiler: clang
env: NODE_VERSION="5" # node abi 47
- os: osx
compiler: clang
env: NODE_VERSION="4" # node abi 46
# electron Linux
- os: linux
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="4.0.0"
dist: trusty # needed for libc6 / 'version `GLIBC_2.17` not found' error on precise
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
- os: linux
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="3.0.6"
dist: trusty # needed for libc6 / 'version `GLIBC_2.17` not found' error on precise
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
- os: linux
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="2.0.1"
dist: trusty # needed for libc6 / 'version `GLIBC_2.17` not found' error on precise
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5', 'libc6']
- os: linux
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.8.4"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.7.12"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.6.2"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
- os: linux
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.3.14"
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
packages: [ 'clang-3.5']
# electron MacOs
- os: osx
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="4.0.0"
- os: osx
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="3.0.6"
- os: osx
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="2.0.1"
- os: osx
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.8.4"
- os: osx
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.7.12"
- os: osx
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.6.2"
- os: osx
compiler: clang
env: NODE_VERSION="6" ELECTRON_VERSION="1.3.14"
# ARM with Docker
- os: linux
env: NODE_VERSION="8" USE_DOCKER=1
# # Linux
# - os: linux
# compiler: clang
# env: NODE_VERSION="11"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
# - os: linux
# compiler: clang
# env: NODE_VERSION="10"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
# - os: linux
# compiler: clang
# env: NODE_VERSION="9"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="8"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="7"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="6"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="5"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="4"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# # test building against external sqlite
# - os: linux
# compiler: clang
# env: NODE_VERSION="8" EXTERNAL_SQLITE=true PUBLISHABLE=false
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5','libsqlite3-dev']
# # OS X
# - os: osx
# compiler: clang
# env: NODE_VERSION="11" # node abi 67
# - os: osx
# compiler: clang
# env: NODE_VERSION="10" # node abi 64
# - os: osx
# compiler: clang
# env: NODE_VERSION="9" # node abi 59
# - os: osx
# compiler: clang
# env: NODE_VERSION="8" # node abi 57
# - os: osx
# compiler: clang
# env: NODE_VERSION="7" # node abi 51
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" # node abi 48
# - os: osx
# compiler: clang
# env: NODE_VERSION="5" # node abi 47
# - os: osx
# compiler: clang
# env: NODE_VERSION="4" # node abi 46
# # electron Linux
# - os: linux
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="4.0.0"
# dist: trusty # needed for libc6 / 'version `GLIBC_2.17` not found' error on precise
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
# - os: linux
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="3.0.6"
# dist: trusty # needed for libc6 / 'version `GLIBC_2.17` not found' error on precise
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5', 'libstdc++-4.9-dev']
# - os: linux
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="2.0.1"
# dist: trusty # needed for libc6 / 'version `GLIBC_2.17` not found' error on precise
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5', 'libc6']
# - os: linux
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.8.4"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.7.12"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.6.2"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# - os: linux
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.3.14"
# addons:
# apt:
# sources: [ 'ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5', 'gcc-multilib', 'g++-multilib', 'libsqlite3-dev:i386' ]
# packages: [ 'clang-3.5']
# # electron MacOs
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="4.0.0"
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="3.0.6"
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="2.0.1"
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.8.4"
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.7.12"
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.6.2"
# - os: osx
# compiler: clang
# env: NODE_VERSION="6" ELECTRON_VERSION="1.3.14"

env:
global:
Expand All @@ -208,13 +214,16 @@ before_script:
- export COMMIT_MESSAGE=$(git show -s --format=%B $TRAVIS_COMMIT | tr -d '\n')

script:
- if [[ "${NODE_VERSION}" ]]; then
if [[ "${ELECTRON_VERSION}" ]]; then
./scripts/build_against_electron.sh;
else
./scripts/build_against_node.sh;
fi;
fi
- if [[ "${NODE_VERSION}" -eq "4" ]]; then ./node_modules/.bin/eslint lib; fi;
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
- "mkdir tmp && pushd tmp && curl -L -o qemu-arm-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/v3.1.0-3/qemu-arm-static.tar.gz && tar xzf qemu-arm-static.tar.gz && popd"
- travis_wait docker run --rm -v "$(pwd)":/build -v "$(pwd)"/tmp/qemu-arm-static:/usr/bin/qemu-arm-static arm32v7/node:8 bash -c 'cd /build && npm install --unsafe-perm --build-from-source && node_modules/.bin/node-pre-gyp package testpackage publish info'
# - if [[ "${NODE_VERSION}" ]]; then
# if [[ "${ELECTRON_VERSION}" ]]; then
# ./scripts/build_against_electron.sh;
# else
# ./scripts/build_against_node.sh;
# fi;
# fi
# - if [[ "${NODE_VERSION}" -eq "4" ]]; then ./node_modules/.bin/eslint lib; fi;
# disabled for now: need to port to sudo:false
#- if [[ "${NODE_WEBKIT}" ]]; then ./scripts/build_against_node_webkit.sh; fi;