mirror of
https://github.com/ToruNiina/toml11.git
synced 2024-11-25 22:00:05 +00:00
ci: add actions test and docs
This commit is contained in:
parent
1e97dff5e3
commit
3a1e893d68
32
.github/workflows/document.yml
vendored
Normal file
32
.github/workflows/document.yml
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
name: document
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: Ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install Hugo
|
||||||
|
uses: peaceiris/actions-hugo@v3
|
||||||
|
with:
|
||||||
|
hugo-version: 'latest'
|
||||||
|
extended: true
|
||||||
|
- name: Build Webpage
|
||||||
|
working-directory: ./docs/
|
||||||
|
run: |
|
||||||
|
hugo --minify
|
||||||
|
- name: Deploy
|
||||||
|
uses: peaceiris/actions-gh-pages@v3
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
publish_branch: gh-pages
|
||||||
|
publish_dir: ./book/public
|
||||||
|
force_orphan: true
|
||||||
|
commit_message: ${{ github.event.head_commit.message }}
|
190
.github/workflows/main.yml
vendored
Normal file
190
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-linux-gcc:
|
||||||
|
runs-on: Ubuntu-22.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
compiler: ['g++-12', 'g++-11', 'g++-10', 'g++-9']
|
||||||
|
standard: ['11', '14', '17', '20']
|
||||||
|
precompile: ['ON', 'OFF']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install language-pack-fr # test serializer w/ locale
|
||||||
|
sudo apt-get install ${{ matrix.compiler }}
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cmake -B build/ -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_BUILD_TESTS=ON -DTOML11_PRECOMPILE=${{ matrix.precompile }}
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build/
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest --output-on-failure --test-dir build/
|
||||||
|
build-linux-clang:
|
||||||
|
runs-on: Ubuntu-22.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
compiler: ['15', '14', '13', '12', '11']
|
||||||
|
standard: ['11', '14', '17', '20']
|
||||||
|
precompile: ['ON', 'OFF']
|
||||||
|
exclude:
|
||||||
|
- {compiler: '14', standard: '20'} # to avoid using gcc-13 libstdc++
|
||||||
|
- {compiler: '13', standard: '20'} # with older clang
|
||||||
|
- {compiler: '12', standard: '20'}
|
||||||
|
- {compiler: '11', standard: '20'}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install language-pack-fr # test serializer w/ locale
|
||||||
|
sudo apt-get install clang-${{ matrix.compiler }}
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cmake -B build/ -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_CXX_COMPILER=clang++-${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_BUILD_TESTS=ON -DTOML11_PRECOMPILE=${{ matrix.precompile }}
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build/
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest --output-on-failure --test-dir build/
|
||||||
|
build-linux-old-gcc:
|
||||||
|
runs-on: Ubuntu-20.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
compiler: ['g++-8', 'g++-7']
|
||||||
|
standard: ['11', '14', '17', '20']
|
||||||
|
precompile: ['ON', 'OFF']
|
||||||
|
exclude:
|
||||||
|
- {compiler: 'g++-7', standard: '20'}
|
||||||
|
- {compiler: 'g++-8', standard: '17'}
|
||||||
|
- {compiler: 'g++-8', standard: '20'}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install language-pack-fr # test serializer w/ locale
|
||||||
|
sudo apt-get install ${{ matrix.compiler }}
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cmake -B build/ -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_BUILD_TESTS=ON -DTOML11_PRECOMPILE=${{ matrix.precompile }}
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build/
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest --output-on-failure --test-dir build/
|
||||||
|
|
||||||
|
build-linux-old-clang:
|
||||||
|
runs-on: Ubuntu-20.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
compiler: ['10', '9', '8', '7', '6.0']
|
||||||
|
standard: ['11', '14', '17', '20']
|
||||||
|
precompile: ['ON', 'OFF']
|
||||||
|
exclude:
|
||||||
|
- {compiler: '6.0', standard: '20'}
|
||||||
|
- {compiler: '7', standard: '20'}
|
||||||
|
- {compiler: '8', standard: '20'}
|
||||||
|
- {compiler: '9', standard: '20'}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install language-pack-fr # test serializer w/ locale
|
||||||
|
sudo apt-get install clang-${{ matrix.compiler }}
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cmake -B build/ -DCMAKE_CXX_COMPILER=clang++-${{ matrix.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_BUILD_TESTS=ON -DTOML11_PRECOMPILE=${{ matrix.precompile }}
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build/
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest --output-on-failure --test-dir build/
|
||||||
|
|
||||||
|
build-osx-13:
|
||||||
|
runs-on: macos-13
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
standard: ['11', '14', '17', '20']
|
||||||
|
precompile: ['ON', 'OFF']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cmake -B build/ -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_BUILD_TESTS=ON -DTOML11_PRECOMPILE=${{ matrix.precompile }}
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build/
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest --output-on-failure --test-dir build/
|
||||||
|
|
||||||
|
build-osx-12:
|
||||||
|
runs-on: macos-12
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
standard: ['11', '14', '17', '20']
|
||||||
|
precompile: ['ON', 'OFF']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cmake -B build/ -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_BUILD_TESTS=ON -DTOML11_PRECOMPILE=${{ matrix.precompile }}
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build/
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest --output-on-failure --test-dir build/
|
||||||
|
|
||||||
|
build-windows-msvc:
|
||||||
|
runs-on: windows-2022
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
standard: ['11', '14', '17', '20']
|
||||||
|
config: ['Release', 'Debug']
|
||||||
|
precompile: ['ON', 'OFF']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
- name: Configure
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cmake -B build/ -G "NMake Makefiles" -DTOML11_BUILD_TESTS=ON -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DTOML11_PRECOMPILE=${{ matrix.precompile }}
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build ./build --config "${{ matrix.config }}"
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest --build-config "${{ matrix.config }}" --test-dir build/ --output-on-failure
|
Loading…
Reference in New Issue
Block a user