Merge pull request #65 from thomwiggers/containerized-build-circleci

Move builds to CircleCI build service
This commit is contained in:
Joost Rijneveld 2019-02-28 16:14:58 +01:00 committed by GitHub
commit 66f0ba9d95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 100 additions and 25 deletions

97
.circleci/config.yml Normal file
View File

@ -0,0 +1,97 @@
version: 2
.emulated_job: &defaultjob
machine: true
steps:
- checkout
- run:
name: Install the emulation handlers
command: docker run --rm --privileged multiarch/qemu-user-static:register --reset
- run:
name: Run the tests in a container
command: |
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"
.native_job: &nativejob
docker:
- image: pqclean/ci-container:$ARCH
steps:
- checkout
- run:
name: Run tests
command: |
export CC=${CC}
cd test && python3 -m nose --rednose --verbose
jobs:
arm64-gcc:
<<: *defaultjob
environment:
CC: gcc
ARCH: arm64
arm64-clang:
<<: *defaultjob
environment:
CC: clang
ARCH: arm64
arm32-gcc:
<<: *defaultjob
environment:
CC: gcc
ARCH: armhf
arm32-clang:
<<: *defaultjob
environment:
CC: clang
ARCH: armhf
ppc-clang:
<<: *defaultjob
environment:
CC: clang
ARCH: unstable-ppc
ppc-gcc:
<<: *defaultjob
environment:
CC: gcc
ARCH: unstable-ppc
amd64-gcc:
<<: *nativejob
environment:
CC: gcc
ARCH: amd64
amd64-clang:
<<: *nativejob
environment:
CC: gcc
ARCH: amd64
i386-gcc:
<<: *nativejob
environment:
CC: gcc
ARCH: i386
i386-clang:
<<: *nativejob
environment:
CC: gcc
ARCH: i386
workflows:
version: 2
build:
jobs:
- arm64-gcc
- arm64-clang
- arm32-gcc
- arm32-clang
- ppc-gcc
- ppc-clang
- amd64-gcc
- amd64-clang
- i386-gcc
- i386-clang
# vim: set ft=yaml ts=2 sw=2 tw=0 et :

View File

@ -1,6 +1,3 @@
dist: xenial
language: minimal
matrix:
include:
- name: "MacOS + Clang"
@ -26,26 +23,6 @@ matrix:
- "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:
- 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"
cache: pip
# vim: set ft=yaml ts=2 sw=2 tw=0 et :

View File

@ -1,7 +1,8 @@
# PQClean
[![Build Status](https://travis-ci.com/PQClean/PQClean.svg?branch=master)](https://travis-ci.com/PQClean/PQClean)
[![Build status](https://ci.appveyor.com/api/projects/status/186ky7yb9mlqj3io/branch/master?svg=true)](https://ci.appveyor.com/project/PQClean/pqclean/branch/master)
[![Build Status on Travis CI](https://travis-ci.com/PQClean/PQClean.svg?branch=master)](https://travis-ci.com/PQClean/PQClean)
[![Build Status on Appveyor](https://ci.appveyor.com/api/projects/status/186ky7yb9mlqj3io/branch/master?svg=true)](https://ci.appveyor.com/project/PQClean/pqclean/branch/master)
[![Build Status on CircleCI](https://circleci.com/gh/PQClean/PQClean/tree/master.svg?style=svg)](https://circleci.com/gh/PQClean/PQClean/tree/master)
**PQClean**, in short, is an effort to collect **clean** implementations of the post-quantum
schemes that are in the