any: perf improvements #5015
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: [push, pull_request] | |
jobs: | |
linux: | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
os: [ubuntu-latest, ubuntu-24.04] | |
compiler: | |
- { pkg: g++, exe: 'g++', version: 9 } | |
- { pkg: g++, exe: 'g++', version: 10 } | |
- { pkg: g++, exe: 'g++', version: 11 } | |
- { pkg: g++, exe: 'g++', version: 12 } | |
- { pkg: g++, exe: 'g++', version: 13 } | |
- { pkg: g++, exe: 'g++', version: 14 } | |
- { pkg: clang, exe: 'clang++', version: 13 } | |
- { pkg: clang, exe: 'clang++', version: 14 } | |
- { pkg: clang, exe: 'clang++', version: 15 } | |
- { pkg: clang, exe: 'clang++', version: 16 } | |
- { pkg: clang, exe: 'clang++', version: 17 } | |
- { pkg: clang, exe: 'clang++', version: 18 } | |
exclude: | |
- os: ubuntu-latest | |
compiler: { pkg: g++, exe: 'g++', version: 12 } | |
- os: ubuntu-latest | |
compiler: { pkg: g++, exe: 'g++', version: 13 } | |
- os: ubuntu-latest | |
compiler: { pkg: g++, exe: 'g++', version: 14 } | |
- os: ubuntu-latest | |
compiler: { pkg: clang, exe: 'clang++', version: 16 } | |
- os: ubuntu-latest | |
compiler: { pkg: clang, exe: 'clang++', version: 17 } | |
- os: ubuntu-latest | |
compiler: { pkg: clang, exe: 'clang++', version: 18 } | |
- os: ubuntu-24.04 | |
compiler: { pkg: g++, exe: 'g++', version: 9 } | |
- os: ubuntu-24.04 | |
compiler: { pkg: g++, exe: 'g++', version: 10 } | |
- os: ubuntu-24.04 | |
compiler: { pkg: g++, exe: 'g++', version: 11 } | |
- os: ubuntu-24.04 | |
compiler: { pkg: clang, exe: 'clang++', version: 13 } | |
- os: ubuntu-24.04 | |
compiler: { pkg: clang, exe: 'clang++', version: 14 } | |
- os: ubuntu-24.04 | |
compiler: { pkg: clang, exe: 'clang++', version: 15 } | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install compiler | |
run: | | |
sudo apt update | |
sudo apt install -y ${{ matrix.compiler.pkg }}-${{ matrix.compiler.version }} | |
- name: Compile tests | |
working-directory: build | |
env: | |
CXX: ${{ matrix.compiler.exe }}-${{ matrix.compiler.version }} | |
run: | | |
cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON .. | |
make -j4 | |
- name: Run tests | |
working-directory: build | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
run: ctest -C Debug -j4 | |
windows: | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
toolset: [default, v142, clang-cl] | |
include: | |
- toolset: v142 | |
toolset_option: -T"v142" | |
- toolset: clang-cl | |
toolset_option: -T"ClangCl" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Compile tests | |
working-directory: build | |
run: | | |
cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON ${{ matrix.toolset_option }} .. | |
cmake --build . -j 4 | |
- name: Run tests | |
working-directory: build | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
run: ctest -C Debug -j4 | |
macos: | |
timeout-minutes: 15 | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Compile tests | |
working-directory: build | |
run: | | |
cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON .. | |
make -j4 | |
- name: Run tests | |
working-directory: build | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
run: ctest -C Debug -j4 | |
extra: | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
os: [windows-latest, macOS-latest, ubuntu-latest] | |
id_type: ["std::uint32_t", "std::uint64_t"] | |
cxx_std: [cxx_std_17, cxx_std_20] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Compile tests | |
working-directory: build | |
run: | | |
cmake -DENTT_BUILD_TESTING=ON -DENTT_CXX_STD=${{ matrix.cxx_std }} -DENTT_ID_TYPE=${{ matrix.id_type }} .. | |
cmake --build . -j 4 | |
- name: Run tests | |
working-directory: build | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
run: ctest -C Debug -j4 |