name: CMake | |
# on: [push, pull_request] | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-18.04, windows-2019] | |
USE_MBEDTLS: ["ON", "OFF"] | |
USE_CONTEXT: ["ON", "OFF"] | |
COMPILER: ["gcc", "clang"] | |
CMAKE_OPTIONS: | |
[ | |
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF -DCOSE_C_INCLUDE_COUNTERSIGN1=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF -DCOSE_C_INCLUDE_COUNTERSIGN1=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF -DCOSE_C_INCLUDE_COUNTERSIGN1=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF -DCOSE_C_INCLUDE_COUNTERSIGN1=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF -DCOSE_C_INCLUDE_COUNTERSIGN1=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=OFF -DCOSE_C_INCLUDE_COUNTERSIGN1=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_OPTIMIZE=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON" | |
] | |
exclude: | |
# this really just does VS not gcc or clang | |
- os: windows-2019 | |
COMPILER: gcc | |
steps: | |
- uses: actions/checkout@v1 | |
- name: setup (windows) | |
if: startsWith(matrix.os, 'windows') | |
run: | | |
choco install openssl cmake | |
- name: setup (linux) | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
sudo apt install cmake-data | |
- name: setup clang (linux) | |
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.COMPILER, 'clang') | |
run: | | |
sudo apt install clang | |
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 | |
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100 | |
- name: Create Build directory | |
shell: bash | |
run: | | |
pwd | |
echo "$GITHUB_WORKSPACE/build" | |
cmake -E make_directory $GITHUB_WORKSPACE/build | |
cd $GITHUB_WORKSPACE/build | |
- name: Configure CMake | |
shell: bash | |
run: | | |
cd $GITHUB_WORKSPACE/build | |
cmake $GITHUB_WORKSPACE \ | |
-DCOSE_C_USE_CONTEXT=${{matrix.USE_CONTEXT}} \ | |
-DCOSE_C_BUILD_DOCS=OFF \ | |
-DCOSE_C_COVERALLS=OFF \ | |
-DCOSE_C_BUILD_TESTS=ON \ | |
-DBUILD_SHARED_LIBS=OFF \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
${{matrix.CMAKE_OPTIONS}} \ | |
-DCOSE_C_USE_MBEDTLS=${{matrix.USE_MBEDTLS}} | |
- name: Build | |
shell: bash | |
run: | | |
cd $GITHUB_WORKSPACE/build | |
cmake --build . | |
- name: get test data | |
shell: bash | |
run: | | |
echo $GITHUB_WORKSPACE | |
pwd | |
cd $GITHUB_WORKSPACE | |
pwd | |
git clone --depth 1 git://github.com/cose-wg/Examples Examples | |
ls -al | |
- name: Test | |
shell: bash | |
run: | | |
pwd | |
ls -al | |
cd $GITHUB_WORKSPACE | |
pwd | |
ls -al | |
cd $GITHUB_WORKSPACE/build | |
ls -al | |
ctest -C Debug --verbose | |
clang-tidy: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
USE_MBEDTLS: ["ON", "OFF"] | |
USE_CONTEXT: ["ON", "OFF"] | |
CMAKE_OPTIONS: | |
[ | |
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=OFF", | |
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON -DCOSE_C_INCLUDE_COUNTERSIGN1=ON", | |
] | |
steps: | |
- uses: actions/checkout@v1 | |
- name: setup (linux) | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
sudo apt install cmake-data clang clang-tidy | |
- name: Create Build directory | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: | | |
export CC=clang && \ | |
export CXX=clang++ && \ | |
cmake $GITHUB_WORKSPACE \ | |
-DCOSE_C_USE_CONTEXT=${{matrix.USE_CONTEXT}} \ | |
-DCOSE_C_BUILD_DOCS=OFF \ | |
-DCOSE_C_BUILD_TESTS=ON \ | |
-DCOSE_C_RUN_CLANG_TIDY=ON \ | |
${{matrix.CMAKE_OPTIONS}} \ | |
-DCOSE_C_USE_MBEDTLS=${{matrix.USE_MBEDTLS}} | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . |