119 lines
2.9 KiB
YAML
119 lines
2.9 KiB
YAML
name: Ubuntu
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
gcc_build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: install_gcc
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install gcc-10 g++-10
|
|
shell: bash
|
|
- name: cmake
|
|
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On
|
|
env:
|
|
CC: gcc-10
|
|
CXX: g++-10
|
|
- name: build
|
|
run: cmake --build build --parallel 10
|
|
- name: test
|
|
run: cd build ; ctest -j 10 --output-on-failure
|
|
|
|
clang_build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: install_clang
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install clang-10
|
|
shell: bash
|
|
- name: cmake
|
|
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On
|
|
env:
|
|
CC: clang-10
|
|
CXX: clang++-10
|
|
- name: build
|
|
run: cmake --build build --parallel 10
|
|
- name: test
|
|
run: cd build ; ctest -j 10 --output-on-failure
|
|
|
|
clang_build_cxx20:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: install_clang
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install clang-10
|
|
shell: bash
|
|
- name: cmake
|
|
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
|
|
env:
|
|
CC: clang-10
|
|
CXX: clang++-10
|
|
- name: build
|
|
run: cmake --build build --parallel 10
|
|
- name: test
|
|
run: cd build ; ctest -j 10 --output-on-failure
|
|
|
|
ci_test_clang:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: install_ninja
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install ninja-build
|
|
shell: bash
|
|
- name: install_clang
|
|
run: |
|
|
wget https://apt.llvm.org/llvm.sh
|
|
chmod +x llvm.sh
|
|
sudo ./llvm.sh 11
|
|
shell: bash
|
|
- name: cmake
|
|
run: cmake -S . -B build -DJSON_CI=On
|
|
- name: build
|
|
run: cmake --build build --target ci_test_clang
|
|
|
|
ci_clang_analyze:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: install_ninja
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install ninja-build
|
|
shell: bash
|
|
- name: install_clang
|
|
run: |
|
|
wget https://apt.llvm.org/llvm.sh
|
|
chmod +x llvm.sh
|
|
sudo ./llvm.sh 11
|
|
sudo apt-get install clang-tools-11
|
|
shell: bash
|
|
- name: cmake
|
|
run: cmake -S . -B build -DJSON_CI=On
|
|
- name: build
|
|
run: cmake --build build --target ci_clang_analyze
|
|
|
|
ci_build_gcc:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: nlohmann/json-ci:latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: cmake
|
|
run: cmake -S . -B build -DJSON_CI=On
|
|
- name: build
|
|
run: cmake --build build --target ci_test_gcc
|