Merge pull request #58 from PQClean/containerized-build
Greatly simplify container builds
This commit is contained in:
commit
da90b709d3
99
.travis.yml
99
.travis.yml
@ -1,86 +1,16 @@
|
|||||||
language: c
|
|
||||||
|
|
||||||
dist: xenial
|
dist: xenial
|
||||||
|
language: minimal
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: "Linux + GCC + Linting"
|
|
||||||
os: linux
|
|
||||||
compiler: gcc
|
|
||||||
env:
|
|
||||||
- MAKETARGET="test-all tidy-all check-format"
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages: &xenial-packages
|
|
||||||
- astyle
|
|
||||||
- python3-yaml
|
|
||||||
- python3-nose
|
|
||||||
- python3-rednose
|
|
||||||
- valgrind
|
|
||||||
- name: "Linux + Clang"
|
|
||||||
os: linux
|
|
||||||
compiler: clang
|
|
||||||
env:
|
|
||||||
- MAKETARGET=test-all
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages: *xenial-packages
|
|
||||||
- name: "Linux 32-bit GCC"
|
|
||||||
os: linux
|
|
||||||
compiler: gcc # Clang has i386-libasan problems on xenial
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages: # no way to re-use xenial-packages with lists :(
|
|
||||||
- astyle
|
|
||||||
- gcc-multilib
|
|
||||||
- python3-yaml
|
|
||||||
- python3-nose
|
|
||||||
- python3-rednose
|
|
||||||
- valgrind
|
|
||||||
before_install:
|
|
||||||
- sudo dpkg --add-architecture i386
|
|
||||||
- sudo apt update -qq && sudo apt-get install -qqy libc6-dbg:i386
|
|
||||||
env:
|
|
||||||
- MAKETARGET=test-all
|
|
||||||
- EXTRAFLAGS=-m32
|
|
||||||
- name: "Run tests on qemu-ppc (GCC)"
|
|
||||||
os: linux
|
|
||||||
services: docker
|
|
||||||
env:
|
|
||||||
- MAKETARGET="run-functest-all run-sanitizer-all"
|
|
||||||
script:
|
|
||||||
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
|
||||||
- docker run --rm -v `pwd`:`pwd` -w `pwd` "pqclean/debian-unstable-ppc" /bin/bash -c "uname -a &&
|
|
||||||
make ${MAKETARGET} &&
|
|
||||||
cd test && python3 -m nose --rednose --verbose"
|
|
||||||
- name: "Run tests on qemu-arm32 (GCC)"
|
|
||||||
os: linux
|
|
||||||
services: docker
|
|
||||||
env:
|
|
||||||
- MAKETARGET="run-functest-all run-sanitizer-all"
|
|
||||||
script:
|
|
||||||
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
|
||||||
- docker run --rm -v `pwd`:`pwd` -w `pwd` "pqclean/debian-buster-arm" /bin/bash -c "uname -a &&
|
|
||||||
ASAN_OPTIONS=detect_leaks=0 make ${MAKETARGET} &&
|
|
||||||
cd test && python3 -m nose --rednose --verbose"
|
|
||||||
- name: "Run tests on qemu-aarch64 (GCC)"
|
|
||||||
os: linux
|
|
||||||
services: docker
|
|
||||||
env:
|
|
||||||
- MAKETARGET="run-functest-all run-sanitizer-all"
|
|
||||||
script:
|
|
||||||
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
|
||||||
- docker run --rm -v `pwd`:`pwd` -w `pwd` "pqclean/debian-buster-aarch64" /bin/bash -c "uname -a &&
|
|
||||||
ASAN_OPTIONS=detect_leaks=0 make ${MAKETARGET} &&
|
|
||||||
cd test && python3 -m nose --rednose --verbose"
|
|
||||||
- name: "MacOS + Clang"
|
- name: "MacOS + Clang"
|
||||||
os: osx
|
os: osx
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.1
|
||||||
compiler: clang
|
compiler: clang
|
||||||
before_install:
|
before_install:
|
||||||
- pip3 install -r requirements.txt
|
- pip3 install -r requirements.txt
|
||||||
env:
|
script:
|
||||||
- MAKETARGET=test-all
|
- "cd test && python3 -m nose --rednose --verbose"
|
||||||
- name: "MacOS + GCC8"
|
- name: "MacOS + GCC8"
|
||||||
os: osx
|
os: osx
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.1
|
||||||
@ -92,12 +22,29 @@ matrix:
|
|||||||
before_install:
|
before_install:
|
||||||
- pip3 install -r requirements.txt
|
- pip3 install -r requirements.txt
|
||||||
- gcc --version
|
- gcc --version
|
||||||
|
script:
|
||||||
|
- "cd test && python3 -m nose --rednose --verbose"
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- MAKETARGET=test-all
|
matrix:
|
||||||
|
- CC=gcc ARCH=armhf
|
||||||
|
- CC=clang ARCH=armhf
|
||||||
|
- CC=gcc ARCH=arm64
|
||||||
|
- CC=clang ARCH=arm64
|
||||||
|
- CC=gcc ARCH=i386
|
||||||
|
- CC=clang ARCH=i386
|
||||||
|
- CC=gcc ARCH=amd64
|
||||||
|
- CC=clang ARCH=amd64
|
||||||
|
- CC=gcc ARCH=unstable-ppc
|
||||||
|
- CC=clang ARCH=unstable-ppc
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- make ${MAKETARGET}
|
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||||
- cd test && python3 -m nose --rednose --verbose
|
- docker run --rm -v `pwd`:`pwd` -w `pwd` "pqclean/ci-container:$ARCH" /bin/bash -c "
|
||||||
|
uname -a &&
|
||||||
|
export CC=${CC} &&
|
||||||
|
cd test && python3 -m nose --rednose --verbose"
|
||||||
|
|
||||||
cache: pip
|
cache: pip
|
||||||
|
|
||||||
|
@ -41,6 +41,8 @@ def check_symbol_namespace(scheme_name, implementation_name):
|
|||||||
*_, symtype, symbol = symbolstr.split()
|
*_, symtype, symbol = symbolstr.split()
|
||||||
if symtype in 'TR':
|
if symtype in 'TR':
|
||||||
if (not symbol.startswith(namespace) and
|
if (not symbol.startswith(namespace) and
|
||||||
|
# weird things on i386
|
||||||
|
not symbol.startswith('__x86.get_pc_thunk.') and
|
||||||
not symbol.startswith('_' + namespace)):
|
not symbol.startswith('_' + namespace)):
|
||||||
non_namespaced.append(symbol)
|
non_namespaced.append(symbol)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user