From c0e4cac8313e243cf86d7979da6c58aa56084dc3 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Wed, 27 Feb 2019 15:17:26 +0100 Subject: [PATCH 1/6] Greatly simplify container builds --- .travis.yml | 91 ++++++++++++----------------------------------------- 1 file changed, 20 insertions(+), 71 deletions(-) diff --git a/.travis.yml b/.travis.yml index e39ae0ae..4e06d1c1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,75 +4,6 @@ dist: xenial matrix: 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" os: osx osx_image: xcode10.1 @@ -95,9 +26,27 @@ matrix: env: - MAKETARGET=test-all +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 + +before_script: + - docker run --rm --privileged multiarch/qemu-user-static:register --reset + script: - - make ${MAKETARGET} - - cd test && python3 -m nose --rednose --verbose + - docker run --rm -v `pwd`:`pwd` -w `pwd` "pqclean/ci-containers:$ARCH" /bin/bash -c " + uname -a && + export CC=${CC} && + cd test && python3 -m nose --rednose --verbose" cache: pip From d06d8b34c1d963a1f1b38c8b85dd04caa4b51436 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Wed, 27 Feb 2019 16:02:24 +0100 Subject: [PATCH 2/6] Fix typo in container, fix mac builds --- .travis.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4e06d1c1..94c60a65 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,8 +10,8 @@ matrix: compiler: clang before_install: - pip3 install -r requirements.txt - env: - - MAKETARGET=test-all + script: + - "cd test && python3 -m nose --rednose --verbose" - name: "MacOS + GCC8" os: osx osx_image: xcode10.1 @@ -23,8 +23,9 @@ matrix: before_install: - pip3 install -r requirements.txt - gcc --version - env: - - MAKETARGET=test-all + script: + - "cd test && python3 -m nose --rednose --verbose" + env: matrix: @@ -39,11 +40,9 @@ env: - CC=gcc ARCH=unstable-ppc - CC=clang ARCH=unstable-ppc -before_script: - - docker run --rm --privileged multiarch/qemu-user-static:register --reset - script: - - docker run --rm -v `pwd`:`pwd` -w `pwd` "pqclean/ci-containers:$ARCH" /bin/bash -c " + - docker run --rm --privileged multiarch/qemu-user-static:register --reset + - 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" From 32445f815daef3949f42f6dfcca562183626ecac Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Wed, 27 Feb 2019 17:04:57 +0100 Subject: [PATCH 3/6] The 'language: minimal' should have docker --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 94c60a65..f0203837 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: c dist: xenial +language: minimal matrix: include: From 7c5e671dacef51a2b4dd0570f1d8909da499999d Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Wed, 27 Feb 2019 17:36:19 +0100 Subject: [PATCH 4/6] Should fix the i386 build --- test/test_symbol_namespace.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/test_symbol_namespace.py b/test/test_symbol_namespace.py index 4c8d3103..e474077b 100644 --- a/test/test_symbol_namespace.py +++ b/test/test_symbol_namespace.py @@ -41,6 +41,8 @@ def check_symbol_namespace(scheme_name, implementation_name): *_, symtype, symbol = symbolstr.split() if symtype in 'TR': if (not symbol.startswith(namespace) and + # weird things on i386 + not symbol.startwith('__x86.get_pc_thunk.') and not symbol.startswith('_' + namespace)): non_namespaced.append(symbol) From 3c81f6940d39ab294c1dec60077e8fa751d480e6 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Wed, 27 Feb 2019 18:09:46 +0100 Subject: [PATCH 5/6] Stupid typo --- test/test_symbol_namespace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_symbol_namespace.py b/test/test_symbol_namespace.py index e474077b..8951cb44 100644 --- a/test/test_symbol_namespace.py +++ b/test/test_symbol_namespace.py @@ -42,7 +42,7 @@ def check_symbol_namespace(scheme_name, implementation_name): if symtype in 'TR': if (not symbol.startswith(namespace) and # weird things on i386 - not symbol.startwith('__x86.get_pc_thunk.') and + not symbol.startswith('__x86.get_pc_thunk.') and not symbol.startswith('_' + namespace)): non_namespaced.append(symbol) From 79a1da56b4d83294054938226fb8ff5508b46a3f Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Thu, 28 Feb 2019 15:05:55 +0100 Subject: [PATCH 6/6] Remove duplicate language line --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index f0203837..e19a1f35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,3 @@ -language: c - dist: xenial language: minimal