1381240e10
- renamed options to `snake_case` - tests, examples and cmake config now explicitly disabled when used as a subproject - removed small_binaries (it's now implicit when building as release) - added minimum meson version 0.53
158 lines
5.9 KiB
YAML
158 lines
5.9 KiB
YAML
version: 2
|
|
|
|
jobs:
|
|
|
|
debug_clang9:
|
|
docker:
|
|
- image: marzer/misc_cpp17_dev:latest
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Initializing locales
|
|
command: |
|
|
sudo apt-get update && sudo apt-get install -y locales
|
|
sudo locale-gen 'en_US.utf8' 'ja_JP.utf8' 'de_DE.utf8' 'it_IT.utf8' 'tr_TR.utf8' 'fi_FI.utf8' 'fr_FR.utf8' 'zh_CN.utf8'
|
|
- run:
|
|
name: Checking toml.hpp
|
|
command: |
|
|
cd python && python3 ci_single_header_check.py
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init extern/Catch2
|
|
git submodule update --init extern/tloptional
|
|
- run:
|
|
name: Building and testing with clang 9
|
|
command: |
|
|
CXX=clang++-9 meson build --buildtype=debug -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false
|
|
cd build && ninja -v -j 4 && ninja test
|
|
|
|
release_clang9:
|
|
docker:
|
|
- image: marzer/misc_cpp17_dev:latest
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Initializing locales
|
|
command: |
|
|
sudo apt-get update && sudo apt-get install -y locales
|
|
sudo locale-gen 'en_US.utf8' 'ja_JP.utf8' 'de_DE.utf8' 'it_IT.utf8' 'tr_TR.utf8' 'fi_FI.utf8' 'fr_FR.utf8' 'zh_CN.utf8'
|
|
- run:
|
|
name: Checking toml.hpp
|
|
command: |
|
|
cd python && python3 ci_single_header_check.py
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init extern/Catch2
|
|
git submodule update --init extern/tloptional
|
|
- run:
|
|
name: Building and testing with clang 9
|
|
command: |
|
|
CXX=clang++-9 meson build --buildtype=release -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false
|
|
cd build && ninja -v -j 4 && ninja test
|
|
|
|
debug_gcc9:
|
|
docker:
|
|
- image: marzer/misc_cpp17_dev:latest
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Initializing locales
|
|
command: |
|
|
sudo apt-get update && sudo apt-get install -y locales
|
|
sudo locale-gen 'en_US.utf8' 'ja_JP.utf8' 'de_DE.utf8' 'it_IT.utf8' 'tr_TR.utf8' 'fi_FI.utf8' 'fr_FR.utf8' 'zh_CN.utf8'
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init extern/Catch2
|
|
git submodule update --init extern/tloptional
|
|
- run:
|
|
name: Building and testing with gcc9
|
|
command: |
|
|
CXX=g++-9 meson build --buildtype=debug -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false
|
|
cd build && ninja -v -j 4 && ninja test
|
|
|
|
release_gcc9:
|
|
docker:
|
|
- image: marzer/misc_cpp17_dev:latest
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Initializing locales
|
|
command: |
|
|
sudo apt-get update && sudo apt-get install -y locales
|
|
sudo locale-gen 'en_US.utf8' 'ja_JP.utf8' 'de_DE.utf8' 'it_IT.utf8' 'tr_TR.utf8' 'fi_FI.utf8' 'fr_FR.utf8' 'zh_CN.utf8'
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init extern/Catch2
|
|
git submodule update --init extern/tloptional
|
|
- run:
|
|
name: Building and testing with gcc9
|
|
command: |
|
|
CXX=g++-9 meson build --buildtype=release -Dpedantic=true -Dbuild_tests=true -Dbuild_examples=true -Dgenerate_cmake_config=false
|
|
cd build && ninja -v -j 4 && ninja test
|
|
|
|
generate_dox:
|
|
docker:
|
|
- image: marzer/misc_cpp17_dev:latest
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Pulling submodules
|
|
command: |
|
|
git submodule update --init extern/mcss
|
|
- run:
|
|
name: Generating documentation
|
|
command: |
|
|
cd python && python3 generate_documentation.py
|
|
- persist_to_workspace:
|
|
root: docs
|
|
paths: html
|
|
|
|
deploy_dox:
|
|
docker:
|
|
- image: node:14.4.0
|
|
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_clang9
|
|
- release_clang9
|
|
- debug_gcc9
|
|
- release_gcc9
|
|
- generate_dox:
|
|
requires:
|
|
- debug_clang9
|
|
- release_clang9
|
|
- debug_gcc9
|
|
- release_gcc9
|
|
filters:
|
|
branches:
|
|
only: master
|
|
- deploy_dox:
|
|
requires:
|
|
- generate_dox
|