add a stand alone build in CI

This commit is contained in:
Thomas Vincent 2021-12-10 11:45:18 -05:00
parent b5ad137556
commit 20d89af0ec
2 changed files with 16 additions and 79 deletions

View File

@ -25,7 +25,7 @@ jobs:
- name: Build and install nlohmann json
run: |
cd nlohmann-json
cmake -S . -B build
cmake -S . -DJSON_VALIDATOR_BUILD_EXAMPLES=ON -DDJSON_VALIDATOR_BUILD_TESTS=ON -B build
cmake --build build --target install -j$(nproc)
cd ..
- name: Clone json-schema-validator
@ -36,3 +36,18 @@ jobs:
run: cmake --build build --target all -j$(nproc)
- name: test
run: cd build && ctest
build_and_test_stand_alone:
runs-on: ubuntu-latest
container: ghcr.io/nlohmann/json-ci:v1.0.0
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub."
- run: echo "🔎 Branch name is ${{ github.ref }} and repository is ${{ github.repository }}."
- name: Clone json-schema-validator
uses: actions/checkout@v2
- name: cmake
run: cmake -S . -DJSON_VALIDATOR_BUILD_EXAMPLES=ON -DDJSON_VALIDATOR_BUILD_TESTS=ON -B build
- name: build
run: cmake --build build --target all -j$(nproc)
- name: test
run: cd build && ctest

View File

@ -1,78 +0,0 @@
#########################
# project configuration #
#########################
# C++ project
language: cpp
dist: trusty
sudo: required
group: edge
matrix:
include:
- os: linux
compiler: gcc
env: COMPILER=g++-4.9
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.9', 'ninja-build']
- os: linux
compiler: gcc
env: COMPILER=g++-5
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5', 'ninja-build']
- os: linux
compiler: gcc
env: COMPILER=g++-6
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-6', 'ninja-build']
- os: linux
compiler: gcc
env: COMPILER=g++-7
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-7', 'ninja-build']
script:
# get CMake and Ninja (only for systems with brew - macOS)
- |
if [[ (-x $(which brew)) ]]; then
brew update
brew install cmake ninja
brew upgrade cmake
fi
# make sure CXX is correctly set
- if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi
# show OS/compiler version
- uname -a
- cmake --version
- $CXX --version
# put json.hpp to nlohmann
- mkdir -p nlohmann && wget https://github.com/nlohmann/json/releases/download/v3.8.0/json.hpp -O nlohmann/json.hpp
# compile and execute unit tests
- mkdir -p build && cd build
- cmake .. -Dnlohmann_json_DIR=.. ${CMAKE_OPTIONS} -GNinja && cmake --build . --config Release
- ctest -C Release -V -j
- cd ..
# Remove previous build and tests
- rm -r build
# Compile and execute with no nlohmann/json.hpp so it will fetch if
- mkdir -p build && cd build
- cmake .. ${CMAKE_OPTIONS} -GNinja && cmake --build . --config Release
- ctest -C Release -V -j
- cd ..