Add CI job for x86 (#1058)

This commit is contained in:
Douglas Stebila 2021-07-30 15:23:41 -04:00 committed by GitHub
parent 4de651c723
commit 286e68674c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 14 deletions

View File

@ -0,0 +1,5 @@
# SPDX-License-Identifier: MIT
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR i586)
set(CMAKE_CROSSCOMPILING OFF)

View File

@ -78,8 +78,8 @@ jobs:
command: ninja command: ninja
working_directory: build working_directory: build
linux_x64: linux_oqs:
description: A template for running liboqs tests on x64 Linux Docker VMs description: A template for running liboqs tests on Linux Docker VMs
parameters: parameters:
CONTAINER: CONTAINER:
description: "The docker container to use." description: "The docker container to use."
@ -332,13 +332,13 @@ workflows:
#- testapproval: #- testapproval:
# <<: *require_buildcheck # <<: *require_buildcheck
# type: approval # type: approval
- linux_x64: - linux_oqs:
<<: *require_buildcheck <<: *require_buildcheck
name: alpine-noopenssl name: alpine-noopenssl
context: openquantumsafe context: openquantumsafe
CONTAINER: openquantumsafe/ci-alpine-amd64:latest CONTAINER: openquantumsafe/ci-alpine-amd64:latest
CMAKE_ARGS: -DOQS_USE_OPENSSL=OFF CMAKE_ARGS: -DOQS_USE_OPENSSL=OFF
- linux_x64: - linux_oqs:
<<: *require_buildcheck <<: *require_buildcheck
name: alpine name: alpine
context: openquantumsafe context: openquantumsafe
@ -346,37 +346,37 @@ workflows:
CMAKE_ARGS: -DOQS_USE_OPENSSL=ON -DBUILD_SHARED_LIBS=ON CMAKE_ARGS: -DOQS_USE_OPENSSL=ON -DBUILD_SHARED_LIBS=ON
# Disabling centos-8 and debian-buster. # Disabling centos-8 and debian-buster.
# Re-enable if specific configurations (package versions etc) that need to be tested are identified. # Re-enable if specific configurations (package versions etc) that need to be tested are identified.
#- linux_x64: #- linux_oqs:
# <<: *require_buildcheck # <<: *require_buildcheck
# name: centos-8 # name: centos-8
# context: openquantumsafe # context: openquantumsafe
# CONTAINER: openquantumsafe/ci-centos-8-amd64:latest # CONTAINER: openquantumsafe/ci-centos-8-amd64:latest
# CMAKE_ARGS: -DCMAKE_C_COMPILER=clang # CMAKE_ARGS: -DCMAKE_C_COMPILER=clang
#- linux_x64: #- linux_oqs:
# <<: *require_buildcheck # <<: *require_buildcheck
# name: debian-buster # name: debian-buster
# context: openquantumsafe # context: openquantumsafe
# CONTAINER: openquantumsafe/ci-debian-buster-amd64:latest # CONTAINER: openquantumsafe/ci-debian-buster-amd64:latest
- linux_x64: - linux_oqs:
<<: *require_buildcheck <<: *require_buildcheck
name: ubuntu-focal-noopenssl name: ubuntu-focal-noopenssl
context: openquantumsafe context: openquantumsafe
CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest
CMAKE_ARGS: -DCMAKE_C_COMPILER=gcc-8 -DOQS_USE_OPENSSL=OFF CMAKE_ARGS: -DCMAKE_C_COMPILER=gcc-8 -DOQS_USE_OPENSSL=OFF
- linux_x64: - linux_oqs:
<<: *require_buildcheck <<: *require_buildcheck
name: ubuntu-focal-shared-noopenssl name: ubuntu-focal-shared-noopenssl
context: openquantumsafe context: openquantumsafe
CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest
CMAKE_ARGS: -DCMAKE_C_COMPILER=gcc-7 -DOQS_DIST_BUILD=ON -DOQS_USE_OPENSSL=OFF -DBUILD_SHARED_LIBS=ON CMAKE_ARGS: -DCMAKE_C_COMPILER=gcc-7 -DOQS_DIST_BUILD=ON -DOQS_USE_OPENSSL=OFF -DBUILD_SHARED_LIBS=ON
PYTEST_ARGS: --ignore=tests/test_namespace.py --numprocesses=auto PYTEST_ARGS: --ignore=tests/test_namespace.py --numprocesses=auto
- linux_x64: - linux_oqs:
<<: *require_buildcheck <<: *require_buildcheck
name: ubuntu-focal-clang9 name: ubuntu-focal-clang9
context: openquantumsafe context: openquantumsafe
CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest
CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9 CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9
- linux_x64: - linux_oqs:
<<: *require_buildcheck <<: *require_buildcheck
name: address-sanitizer name: address-sanitizer
context: openquantumsafe context: openquantumsafe
@ -387,8 +387,14 @@ workflows:
CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest
CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9 -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=Address CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9 -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=Address
PYTEST_ARGS: --ignore=tests/test_portability.py --numprocesses=auto --maxprocesses=10 PYTEST_ARGS: --ignore=tests/test_portability.py --numprocesses=auto --maxprocesses=10
- linux_oqs:
<<: *require_buildcheck
name: ubuntu-bionic-i386
context: openquantumsafe
CONTAINER: openquantumsafe/ci-ubuntu-bionic-i386:latest
CMAKE_ARGS: -DCMAKE_TOOLCHAIN_FILE=../.CMake/toolchain_x86.cmake
# Disabling test_constant_time for now # Disabling test_constant_time for now
#- linux_x64: #- linux_oqs:
# <<: *require_buildcheck # <<: *require_buildcheck
# name: constant-time-x64 # name: constant-time-x64
# filters: # filters:
@ -399,7 +405,7 @@ workflows:
# CONTAINER: openquantumsafe/ci-ubuntu-bionic-x86_64:latest # CONTAINER: openquantumsafe/ci-ubuntu-bionic-x86_64:latest
# CMAKE_ARGS: -DOQS_OPT_TARGET=generic -DCMAKE_BUILD_TYPE=Debug -DOQS_ENABLE_TEST_CONSTANT_TIME=ON # CMAKE_ARGS: -DOQS_OPT_TARGET=generic -DCMAKE_BUILD_TYPE=Debug -DOQS_ENABLE_TEST_CONSTANT_TIME=ON
# PYTEST_ARGS: --numprocesses=auto -k 'test_constant_time' # PYTEST_ARGS: --numprocesses=auto -k 'test_constant_time'
#- linux_x64: #- linux_oqs:
# <<: *require_buildcheck # <<: *require_buildcheck
# name: constant-time-x64-extensions # name: constant-time-x64-extensions
# filters: # filters:
@ -411,7 +417,7 @@ workflows:
# CMAKE_ARGS: -DOQS_OPT_TARGET=auto -DCMAKE_BUILD_TYPE=Debug -DOQS_ENABLE_TEST_CONSTANT_TIME=ON # CMAKE_ARGS: -DOQS_OPT_TARGET=auto -DCMAKE_BUILD_TYPE=Debug -DOQS_ENABLE_TEST_CONSTANT_TIME=ON
# PYTEST_ARGS: --numprocesses=auto -k 'test_constant_time' # PYTEST_ARGS: --numprocesses=auto -k 'test_constant_time'
# Disabling for now due to https://github.com/open-quantum-safe/liboqs/issues/791 # Disabling for now due to https://github.com/open-quantum-safe/liboqs/issues/791
#- linux_x64: #- linux_oqs:
# name: undefined-sanitizer # name: undefined-sanitizer
# context: openquantumsafe # context: openquantumsafe
# CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest # CONTAINER: openquantumsafe/ci-ubuntu-focal-x86_64:latest

View File

@ -32,7 +32,7 @@ def test_namespace():
symbols.append(line) symbols.append(line)
# ideally this would be just ['oqs', 'pqclean'], but contains exceptions (e.g., providing compat implementations of unavailable platform functions) # ideally this would be just ['oqs', 'pqclean'], but contains exceptions (e.g., providing compat implementations of unavailable platform functions)
namespaces = ['oqs', 'pqclean', 'keccak', 'pqcrystals', 'init', 'fini', 'seedexpander'] namespaces = ['oqs', 'pqclean', 'keccak', 'pqcrystals', 'init', 'fini', 'seedexpander', '__x86.get_pc_thunk']
non_namespaced = [] non_namespaced = []
for symbolstr in symbols: for symbolstr in symbols: