1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-26 17:31:38 +00:00

Merge pull request #58 from PQClean/containerized-build

Greatly simplify container builds
This commit is contained in:
Joost Rijneveld 2019-02-28 15:56:54 +01:00 committed by GitHub
commit da90b709d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 77 deletions

View File

@ -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
env: script:
- MAKETARGET=test-all - "cd test && python3 -m nose --rednose --verbose"
env:
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

View File

@ -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)