mirror of
https://github.com/marzer/tomlplusplus.git
synced 2024-09-15 15:13:21 +00:00
53f29d9365
There's no new functionality here. It's purely tooling + CI stuff: - moved `python` => `tools` - moved documentation images to subfolder - moved `vs/tests` to tests/vs projects - moved `vs` solution etc to root - added semicolons to macros - added cpp.hint to help VS intellisense - migrated documentation generation to external lib
148 lines
5.3 KiB
YAML
148 lines
5.3 KiB
YAML
version: 2
|
|
|
|
jobs:
|
|
|
|
debug_clang:
|
|
docker:
|
|
- image: marzer/cpp_dev:0.1.0
|
|
resource_class: large
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Checking toml.hpp
|
|
command: |
|
|
cd tools && python3 ci_single_header_check.py
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init --depth 1 external/Catch2
|
|
git submodule update --init --depth 1 external/tloptional
|
|
- run:
|
|
name: Building and testing with clang
|
|
command: |
|
|
CXX_LD=lld CXX=clang++ meson build --buildtype=debug -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false -Db_lto=false
|
|
cd build && meson compile -j 4 && meson test --num-processes 1 --verbose
|
|
|
|
release_clang:
|
|
docker:
|
|
- image: marzer/cpp_dev:0.1.0
|
|
resource_class: large
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Checking toml.hpp
|
|
command: |
|
|
cd tools && python3 ci_single_header_check.py
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init --depth 1 external/Catch2
|
|
git submodule update --init --depth 1 external/tloptional
|
|
- run:
|
|
name: Building and testing with clang
|
|
command: |
|
|
CXX_LD=lld CXX=clang++ meson build --buildtype=release -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false -Db_lto=false
|
|
cd build && meson compile -j 4 && meson test --num-processes 1 --verbose
|
|
|
|
debug_gcc:
|
|
docker:
|
|
- image: marzer/cpp_dev:0.1.0
|
|
resource_class: large
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init --depth 1 external/Catch2
|
|
git submodule update --init --depth 1 external/tloptional
|
|
- run:
|
|
name: Building and testing with gcc
|
|
command: |
|
|
CXX_LD=lld CXX=g++ meson build --buildtype=debug -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false -Db_lto=false
|
|
cd build && meson compile -j 4 && meson test --num-processes 1 --verbose
|
|
|
|
release_gcc:
|
|
docker:
|
|
- image: marzer/cpp_dev:0.1.0
|
|
resource_class: large
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init --depth 1 external/Catch2
|
|
git submodule update --init --depth 1 external/tloptional
|
|
- run:
|
|
name: Building and testing with gcc
|
|
command: |
|
|
CXX_LD=lld CXX=g++ meson build --buildtype=release -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false -Db_lto=false
|
|
cd build && meson compile -j 4 && meson test --num-processes 1 --verbose
|
|
|
|
generate_dox:
|
|
docker:
|
|
- image: marzer/cpp_dev:0.1.0
|
|
resource_class: small
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init --depth 1 --recursive external/dox
|
|
- run:
|
|
name: Installing dependencies
|
|
command: |
|
|
pip3 install --upgrade -r external/dox/requirements.txt
|
|
- run:
|
|
name: Generating documentation
|
|
command: |
|
|
cd docs && python3 ../external/dox --verbose
|
|
- persist_to_workspace:
|
|
root: docs
|
|
paths: html
|
|
|
|
deploy_dox:
|
|
docker:
|
|
- image: node:14.4.0
|
|
resource_class: small
|
|
steps:
|
|
- checkout
|
|
- attach_workspace:
|
|
at: docs
|
|
- run:
|
|
name: Disable jekyll builds
|
|
command: |
|
|
touch docs/html/.nojekyll
|
|
- run:
|
|
name: Installing dependencies
|
|
command: |
|
|
npm install -g --silent gh-pages@3.0.0
|
|
git config user.email "ci-build@tomlplusplus.com"
|
|
git config user.name "ci-build"
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- "a6:63:c0:a5:89:cf:2d:03:e7:c9:88:5d:c0:8c:39:e0"
|
|
- run:
|
|
name: Deploy docs to gh-pages branch
|
|
command: gh-pages --dotfiles --message "[skip ci] Updates" --dist docs/html
|
|
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- debug_clang
|
|
- release_clang
|
|
- debug_gcc
|
|
- release_gcc
|
|
- generate_dox:
|
|
requires:
|
|
- debug_clang
|
|
- release_clang
|
|
- debug_gcc
|
|
- release_gcc
|
|
filters:
|
|
branches:
|
|
only: master
|
|
- deploy_dox:
|
|
requires:
|
|
- generate_dox
|