Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions .github/actions/cmake-build/action.yml

This file was deleted.

36 changes: 0 additions & 36 deletions .github/actions/conan-install/action.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/CI.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/DevCI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: DevCI

on:
push:
branches: [ "dev" ]
paths-ignore:
- ".readthedocs.yaml"
- "README.md"

jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-22.04, macos-12, windows-2022 ]
library_type: [ HeaderOnly, Static, Shared ]
std: [ 17, 20 ]
build_type: [ Release ]

runs-on: ${{matrix.os}}

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Configure
run: cmake -B ${{runner.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON -D_7BIT_CONF_BUILD_EXAMPLES=ON

- name: Build
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j

- name: Test
working-directory: ${{runner.workspace}}/build
run: ctest -C ${{matrix.build_type}}
env:
CTEST_OUTPUT_ON_FAILURE: True
80 changes: 80 additions & 0 deletions .github/workflows/Linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Linux

on:
pull_request:
branches: [ "main" ]
paths-ignore:
- ".readthedocs.yaml"
- "README.md"

jobs:
test:
strategy:
fail-fast: false
matrix:
compiler:
- { tool: gcc, ver: 8 }
- { tool: gcc, ver: 9 }
- { tool: gcc, ver: 10 }
- { tool: gcc, ver: 11 }
- { tool: gcc, ver: 12 }
- { tool: gcc, ver: 13 }
- { tool: clang, ver: 8 }
- { tool: clang, ver: 9 }
- { tool: clang, ver: 10 }
- { tool: clang, ver: 11 }
- { tool: clang, ver: 12 }
- { tool: clang, ver: 13 }
- { tool: clang, ver: 14 }
- { tool: clang, ver: 15 }
build_type: [ Release ]
os: [ ubuntu-20.04, ubuntu-22.04 ]
std: [ 17 ]
library_type: [ Static ]
include:
- compiler: { tool: gcc }
cxx: g++
cc: gcc
generator: Ninja
- compiler: { tool: clang }
cxx: clang++
cc: clang
generator: Ninja
exclude:
- { os: ubuntu-20.04, compiler: { tool: gcc, ver: 12 } }
- { os: ubuntu-20.04, compiler: { tool: gcc, ver: 13 } }
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 13 } }
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 14 } }
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 15 } }
- { os: ubuntu-22.04, compiler: { tool: gcc, ver: 8 } }
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 8 } }
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 9 } }
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 10 } }

runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4

- name: Create Build Environment
env:
PACKAGES: ${{ matrix.compiler.tool == 'gcc' && format('gcc-{0} g++-{0}', matrix.compiler.ver) || format('{0}-{1}', matrix.compiler.tool, matrix.compiler.ver) }}
run: |
sudo apt update
sudo apt install ${{env.PACKAGES}} ninja-build -y
sudo apt install locales-all
cmake -E make_directory ${{runner.workspace}}/build

- name: Configure
env:
CXX: ${{matrix.cxx}}-${{matrix.compiler.ver}}
CC: ${{matrix.cc}}-${{matrix.compiler.ver}}
run: cmake -B ${{runner.workspace}}/build -G "${{matrix.generator}}" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON

- name: Build
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j

- name: Test
working-directory: ${{runner.workspace}}/build
run: ctest -C ${{matrix.build_type}}
env:
CTEST_OUTPUT_ON_FAILURE: True
62 changes: 62 additions & 0 deletions .github/workflows/MacOs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: MacOs

on:
pull_request:
branches: [ "main" ]
paths-ignore:
- ".readthedocs.yaml"
- "README.md"

jobs:
test:
strategy:
fail-fast: false
matrix:
compiler:
[
{ tool: apple-clang },
{ tool: gcc, ver: 10 },
{ tool: gcc, ver: 11 },
{ tool: gcc, ver: 12 },
{ tool: gcc, ver: 13 },
]
build_type: [ Release ]
os: [ macos-12, macos-13 ]
std: [ 17 ]
library_type: [ Static ]
include:
- compiler: { tool: gcc }
cxx: g++
cc: gcc
- compiler: { tool: apple-clang }
cxx: ""
cc: ""
exclude:
- { os: macos-13, compiler: { tool: gcc } }

runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4

- name: Create Build Environment
if: matrix.compiler.tool != 'apple-clang'
run: |
brew update &&
brew install ${{matrix.compiler.tool}}@${{matrix.compiler.ver}} ninja
cmake -E make_directory ${{runner.workspace}}/build
echo "CXX=${{matrix.cxx}}-${{matrix.compiler.ver}}" >> $GITHUB_ENV
echo "CC=${{matrix.cc}}-${{matrix.compiler.ver}}" >> $GITHUB_ENV

- name: Configure
env:
MACOSX_DEPLOYMENT_TARGET: 11
run: cmake -B ${{runner.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON

- name: Build
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j

- name: Test
working-directory: ${{runner.workspace}}/build
run: ctest -C ${{matrix.build_type}}
env:
CTEST_OUTPUT_ON_FAILURE: True
68 changes: 68 additions & 0 deletions .github/workflows/Windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Windows

on:
pull_request:
branches: [ "main" ]
paths-ignore:
- ".readthedocs.yaml"
- "README.md"

jobs:
test:
strategy:
fail-fast: false
matrix:
compiler:
[
{ tool: msvc, ver: 141 },
{ tool: msvc, ver: 142 },
{ tool: msvc, ver: 143 },
{ tool: LLVM, ver: 11.1.0 },
{ tool: LLVM, ver: 12.0.1 },
{ tool: LLVM, ver: 13.0.1 },
{ tool: LLVM, ver: 14.0.6 },
{ tool: LLVM, ver: 15.0.7 },
{ tool: LLVM, ver: 16.0.6 },
{ tool: LLVM, ver: 17.0.6 },
]
build_type: [ Release ]
os: [ windows-2019, windows-2022 ]
std: [ 17 ]
library_type: [ Static ]
include:
- compiler: { tool: LLVM }
cxx: clang++
cc: clang
generator: Ninja
- compiler: { tool: msvc }
cxx: ""
cc: ""
generator: ""
exclude:
- { os: windows-2022, compiler: { tool: LLVM } }
- { os: windows-2019, compiler: { tool: msvc, ver: 143 } }

runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4

- name: Create Build Environment
if: matrix.compiler.tool != 'msvc'
shell: bash
run: choco install ${{matrix.compiler.tool}} --version ${{matrix.compiler.ver}} --allow-downgrade -y && choco install ninja && cmake -E make_directory ${{runner.workspace}}/build

- name: Configure
env:
CXX: ${{matrix.cxx}}
CC: ${{matrix.cc}}
PARAMETERS: ${{ matrix.compiler.tool == 'msvc' && format('-A x64 -T v{0}', matrix.compiler.ver) || format('-G "{0}"', matrix.generator) }}
run: cmake -B ${{runner.workspace}}/build ${{env.PARAMETERS}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON

- name: Build
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j

- name: Test
working-directory: ${{runner.workspace}}/build
run: ctest -C ${{matrix.build_type}}
env:
CTEST_OUTPUT_ON_FAILURE: True
Loading