From da7e686fdd297497fa056efa03584f7bd50ef46c Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Tue, 2 Jul 2024 23:47:23 +0200 Subject: [PATCH 01/43] first stab at unified GCC workflow --- .github/workflows/gcc-unified.yml | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/gcc-unified.yml diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml new file mode 100644 index 000000000..1cc82c72f --- /dev/null +++ b/.github/workflows/gcc-unified.yml @@ -0,0 +1,41 @@ +name: gcc-c++20 +on: + push: + branches: [ master, development, pull-request/* ] + pull_request: + branches: [ master, pull-request/* ] + +jobs: + build-gcc-linux: + name: GCC Linux + runs-on: ubuntu-24.04 + strategy: + matrix: + cpp-ver: [11, 14, 17, 20, 23] + no-stl: [ON, OFF] + force-03: [ON, OFF] + env: + ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 + CC: gcc + CXX: g++ + CXX_VER: ${{ matrix.cpp-ver }} + FORCE_03: ${{ matrix.force-03 }} + NO_STL: ${{ matrix.no-stl }} + + steps: + - uses: actions/checkout@v3 + + - name: Build + run: | + cmake . \ + -DBUILD_TESTS=ON \ + -DNO_STL=${NO_STL} \ + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ + -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ + -DETL_FORCE_TEST_CPP03=${FORCE_03} \ + -DETL_CXX_STANDARD=${CXX_VER} + gcc --version + make -j $(nproc) + + - name: Run tests + run: ./test/etl_tests From 7e0b0119e69ad6e706ecea59a196a19e5c704c70 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Tue, 2 Jul 2024 23:50:26 +0200 Subject: [PATCH 02/43] allow manual running of the new workflow --- .github/workflows/gcc-unified.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml index 1cc82c72f..ef2380546 100644 --- a/.github/workflows/gcc-unified.yml +++ b/.github/workflows/gcc-unified.yml @@ -4,6 +4,7 @@ on: branches: [ master, development, pull-request/* ] pull_request: branches: [ master, pull-request/* ] + workflow_dispatch: jobs: build-gcc-linux: From 68f5174f99f79ad7b1840cf22ee4dbe147d9ee72 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 00:00:10 +0200 Subject: [PATCH 03/43] rename the unified workflow --- .github/workflows/gcc-unified.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml index ef2380546..fa97c13ef 100644 --- a/.github/workflows/gcc-unified.yml +++ b/.github/workflows/gcc-unified.yml @@ -1,4 +1,4 @@ -name: gcc-c++20 +name: gcc-ubuntu-24.04 on: push: branches: [ master, development, pull-request/* ] From 31b85929c7087b60d4e8cb32ca85ab34d103a4a8 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 00:24:52 +0200 Subject: [PATCH 04/43] workflows: gcc-unified: upgrade checkout from v3 to v4 --- .github/workflows/gcc-unified.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml index fa97c13ef..b4f49fb64 100644 --- a/.github/workflows/gcc-unified.yml +++ b/.github/workflows/gcc-unified.yml @@ -24,7 +24,7 @@ jobs: NO_STL: ${{ matrix.no-stl }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | From 68d58b496a26c7384931940af89fca620fcc47ef Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 00:25:11 +0200 Subject: [PATCH 05/43] workflow: gcc-unified: add C++03 to the matrix --- .github/workflows/gcc-unified.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml index b4f49fb64..b5a9bf83f 100644 --- a/.github/workflows/gcc-unified.yml +++ b/.github/workflows/gcc-unified.yml @@ -12,9 +12,12 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - cpp-ver: [11, 14, 17, 20, 23] + cpp-ver: [03, 11, 14, 17, 20, 23] no-stl: [ON, OFF] force-03: [ON, OFF] + exclude: + - cpp-ver: 03 + - force-03: ON env: ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 CC: gcc From f27919fef7b8cd49188c857a10021eab15798f47 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 00:25:50 +0200 Subject: [PATCH 06/43] workflow: remove deduplicated actions --- .github/workflows/gcc-c++11.yml | 54 ---- .github/workflows/gcc-c++14.yml | 52 ---- .github/workflows/gcc-c++17.yml | 52 ---- .github/workflows/gcc-c++20.yml | 96 ------- .github/workflows/gcc-syntax-checks.yml | 331 ------------------------ 5 files changed, 585 deletions(-) delete mode 100644 .github/workflows/gcc-c++11.yml delete mode 100644 .github/workflows/gcc-c++14.yml delete mode 100644 .github/workflows/gcc-c++17.yml delete mode 100644 .github/workflows/gcc-c++20.yml delete mode 100644 .github/workflows/gcc-syntax-checks.yml diff --git a/.github/workflows/gcc-c++11.yml b/.github/workflows/gcc-c++11.yml deleted file mode 100644 index 9a7c7b1a0..000000000 --- a/.github/workflows/gcc-c++11.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: gcc-c++11 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-gcc-cpp11-linux-stl: - name: GCC C++11 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - git fetch - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=11 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests - - build-gcc-cpp11-linux-no-stl: - name: GCC C++11 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - git fetch - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=11 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests diff --git a/.github/workflows/gcc-c++14.yml b/.github/workflows/gcc-c++14.yml deleted file mode 100644 index 3d20beb3d..000000000 --- a/.github/workflows/gcc-c++14.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: gcc-c++14 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-gcc-cpp14-linux-stl: - name: GCC C++14 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=14 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests - - build-gcc-cpp14-linux-no-stl: - name: GCC C++14 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=14 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests \ No newline at end of file diff --git a/.github/workflows/gcc-c++17.yml b/.github/workflows/gcc-c++17.yml deleted file mode 100644 index ca3dc8b25..000000000 --- a/.github/workflows/gcc-c++17.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: gcc-c++17 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-gcc-cpp17-linux-stl: - name: GCC C++17 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=17 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests - - build-gcc-cpp17-linux-no-stl: - name: GCC C++17 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=17 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests diff --git a/.github/workflows/gcc-c++20.yml b/.github/workflows/gcc-c++20.yml deleted file mode 100644 index ecfcf9368..000000000 --- a/.github/workflows/gcc-c++20.yml +++ /dev/null @@ -1,96 +0,0 @@ -name: gcc-c++20 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-gcc-cpp20-linux-stl: - name: GCC C++20 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests - - build-gcc-cpp20-linux-no-stl: - name: GCC C++20 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests - - build-gcc-cpp20-linux-stl-force-cpp03: - name: GCC C++20 Linux - STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests - - build-gcc-cpp20-linux-no-stl-force-cpp03: - name: GCC C++20 Linux - No STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - export CC=gcc - export CXX=g++ - cmake -DBUILD_TESTS=ON -DNO_STL=OON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ - gcc --version - make - - - name: Run tests - run: ./test/etl_tests \ No newline at end of file diff --git a/.github/workflows/gcc-syntax-checks.yml b/.github/workflows/gcc-syntax-checks.yml deleted file mode 100644 index ee6077967..000000000 --- a/.github/workflows/gcc-syntax-checks.yml +++ /dev/null @@ -1,331 +0,0 @@ -name: gcc syntax checks -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - build-gcc-cpp03-linux-STL: - name: GCC C++03 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++03 - gcc --version - make - - build-gcc-cpp03-linux-No-STL: - name: GCC C++03 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++03 - gcc --version - make - - build-gcc-cpp11-linux-STL: - name: GCC C++11 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++11 - gcc --version - make - - build-gcc-cpp11-linux-No-STL: - name: GCC C++11 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++11 - gcc --version - make - - build-gcc-cpp11-linux-STL-Force-CPP03: - name: GCC C++11 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++11 - gcc --version - make - - build-gcc-cpp11-linux-No-STL-Force-CPP03: - name: GCC C++11 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++11 - gcc --version - make - - build-gcc-cpp14-linux-STL: - name: GCC C++14 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++14 - gcc --version - make - - build-gcc-cpp14-linux-No-STL: - name: GCC C++14 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++14 - gcc --version - make - - build-gcc-cpp14-linux-STL-Force-CPP03: - name: GCC C++14 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++14 - gcc --version - make - - build-gcc-cpp14-linux-No-STL-Force-CPP03: - name: GCC C++14 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++14 - gcc --version - make - - build-gcc-cpp17-linux-STL: - name: GCC C++17 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++17 - gcc --version - make - - build-gcc-cpp17-linux-No-STL: - name: GCC C++17 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++17 - gcc --version - make - - build-gcc-cpp17-linux-STL-Force-CPP03: - name: GCC C++17 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++17 - gcc --version - make - - build-gcc-cpp17-linux-No-STL-Force-CPP03: - name: GCC C++17 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++17 - gcc --version - make - - build-gcc-cpp20-linux-STL: - name: GCC C++20 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++20 - gcc --version - make - - build-gcc-cpp20-linux-No-STL: - name: GCC C++20 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++20 - gcc --version - make - - build-gcc-cpp20-linux-STL-Force-CPP03: - name: GCC C++20 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++20 - gcc --version - make - - build-gcc-cpp20-linux-No-STL-Force-CPP03: - name: GCC C++20 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=gcc - export CXX=g++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++20 - gcc --version - make \ No newline at end of file From 9784566946b9910bfeff021269dcc028828712f2 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 00:29:38 +0200 Subject: [PATCH 07/43] workflows: gcc-unified: fix eclusion --- .github/workflows/gcc-unified.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml index b5a9bf83f..38c41e882 100644 --- a/.github/workflows/gcc-unified.yml +++ b/.github/workflows/gcc-unified.yml @@ -17,7 +17,7 @@ jobs: force-03: [ON, OFF] exclude: - cpp-ver: 03 - - force-03: ON + force-03: ON env: ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 CC: gcc From 04cd9bf1272a4f71ae46ba722826962cc96284e6 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 01:07:36 +0200 Subject: [PATCH 08/43] workflows: GCC: rename from gcc-ubuntu-24.04 to gcc --- .github/workflows/gcc-unified.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml index 38c41e882..037db1a9b 100644 --- a/.github/workflows/gcc-unified.yml +++ b/.github/workflows/gcc-unified.yml @@ -1,4 +1,4 @@ -name: gcc-ubuntu-24.04 +name: gcc on: push: branches: [ master, development, pull-request/* ] From 4de1620857f24e9937c0775434bc60aaf447acf5 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 01:11:55 +0200 Subject: [PATCH 09/43] temporarily disable filtering branches for push CI triggers --- .github/workflows/gcc-unified.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc-unified.yml index 037db1a9b..a1c0d6643 100644 --- a/.github/workflows/gcc-unified.yml +++ b/.github/workflows/gcc-unified.yml @@ -1,7 +1,7 @@ name: gcc on: push: - branches: [ master, development, pull-request/* ] +#branches: [ master, development, pull-request/* ] pull_request: branches: [ master, pull-request/* ] workflow_dispatch: From e628182802fc2ca151e9d290783b9b34f2b8918d Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 01:15:53 +0200 Subject: [PATCH 10/43] workflows: rename gcc-unified.yml to just gcc.yml, since there's only one --- .github/workflows/{gcc-unified.yml => gcc.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{gcc-unified.yml => gcc.yml} (100%) diff --git a/.github/workflows/gcc-unified.yml b/.github/workflows/gcc.yml similarity index 100% rename from .github/workflows/gcc-unified.yml rename to .github/workflows/gcc.yml From 4e488056e341171c4eb5cacfaf4ae0e13d8ba7da Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 01:34:13 +0200 Subject: [PATCH 11/43] workflows: move clang to a matrix as well --- .github/workflows/clang-c++11.yml | 52 ---- .github/workflows/clang-c++14.yml | 52 ---- .github/workflows/clang-c++17.yml | 52 ---- .github/workflows/clang-c++20.yml | 184 ------------ .github/workflows/clang-syntax-checks.yml | 331 ---------------------- .github/workflows/clang.yml | 46 +++ 6 files changed, 46 insertions(+), 671 deletions(-) delete mode 100644 .github/workflows/clang-c++11.yml delete mode 100644 .github/workflows/clang-c++14.yml delete mode 100644 .github/workflows/clang-c++17.yml delete mode 100644 .github/workflows/clang-c++20.yml delete mode 100644 .github/workflows/clang-syntax-checks.yml create mode 100644 .github/workflows/clang.yml diff --git a/.github/workflows/clang-c++11.yml b/.github/workflows/clang-c++11.yml deleted file mode 100644 index 1ed503178..000000000 --- a/.github/workflows/clang-c++11.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: clang-c++11 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-clang-cpp11-linux-stl: - name: Clang C++11 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=11 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp11-linux-no-stl: - name: Clang C++11 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=11 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests \ No newline at end of file diff --git a/.github/workflows/clang-c++14.yml b/.github/workflows/clang-c++14.yml deleted file mode 100644 index a8e26999e..000000000 --- a/.github/workflows/clang-c++14.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: clang-c++14 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-clang-cpp14-linux-stl: - name: Clang C++14 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=14 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp14-linux-no-stl: - name: Clang C++14 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=14 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests \ No newline at end of file diff --git a/.github/workflows/clang-c++17.yml b/.github/workflows/clang-c++17.yml deleted file mode 100644 index ff00ee599..000000000 --- a/.github/workflows/clang-c++17.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: clang-c++17 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-clang-cpp17-linux-stl: - name: Clang C++17 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=17 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp17-linux-no-stl: - name: Clang C++17 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=17 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests \ No newline at end of file diff --git a/.github/workflows/clang-c++20.yml b/.github/workflows/clang-c++20.yml deleted file mode 100644 index 362c32971..000000000 --- a/.github/workflows/clang-c++20.yml +++ /dev/null @@ -1,184 +0,0 @@ -name: clang-c++20 -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - - build-clang-cpp20-linux-no-stl: - name: Clang C++20 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - # Temporary fix. See https://github.com/actions/runner-images/issues/8659 - - name: Install newer Clang - run: | - wget https://apt.llvm.org/llvm.sh - chmod +x ./llvm.sh - sudo ./llvm.sh 17 - - - name: Build - run: | - export CC=clang-17 - export CXX=clang++-17 - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ - clang-17 --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp20-linux-stl-force-cpp03: - name: Clang C++20 Linux - STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - # Temporary fix. See https://github.com/actions/runner-images/issues/8659 - - name: Install newer Clang - run: | - wget https://apt.llvm.org/llvm.sh - chmod +x ./llvm.sh - sudo ./llvm.sh 17 - - - name: Build - run: | - export CC=clang-17 - export CXX=clang++-17 - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ - clang-17 --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp20-linux-no-stl-force-cpp03: - name: Clang C++20 Linux - No STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - # Temporary fix. See https://github.com/actions/runner-images/issues/8659 - - name: Install newer Clang - run: | - wget https://apt.llvm.org/llvm.sh - chmod +x ./llvm.sh - sudo ./llvm.sh 17 - - - name: Build - run: | - export CC=clang-17 - export CXX=clang++-17 - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ - clang-17 --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp20-osx-stl: - name: Clang C++20 OSX - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-12] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp20-osx-no-stl: - name: Clang C++20 OSX - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-12] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp20-osx-stl-force-cpp03: - name: Clang C++20 OSX - STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-12] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-cpp20-osx-no-stl-force-cpp03: - name: Clang C++20 OSX - No STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-12] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - diff --git a/.github/workflows/clang-syntax-checks.yml b/.github/workflows/clang-syntax-checks.yml deleted file mode 100644 index a7cd58d47..000000000 --- a/.github/workflows/clang-syntax-checks.yml +++ /dev/null @@ -1,331 +0,0 @@ -name: clang syntax checks -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - -jobs: - build-clang-cpp03-linux-STL: - name: Clang C++03 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++03 - clang --version - make - - build-clang-cpp03-linux-No-STL: - name: Clang C++03 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++03 - clang --version - make - - build-clang-cpp11-linux-STL: - name: Clang C++11 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++11 - clang --version - make - - build-clang-cpp11-linux-No-STL: - name: Clang C++11 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++11 - clang --version - make - - build-clang-cpp11-linux-STL-Force-CPP03: - name: Clang C++11 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++11 - clang --version - make - - build-clang-cpp11-linux-No-STL-Force-CPP03: - name: Clang C++11 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++11 - clang --version - make - - build-clang-cpp14-linux-STL: - name: Clang C++14 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++14 - clang --version - make - - build-clang-cpp14-linux-No-STL: - name: Clang C++14 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++14 - clang --version - make - - build-clang-cpp14-linux-STL-Force-CPP03: - name: Clang C++14 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++14 - clang --version - make - - build-clang-cpp14-linux-No-STL-Force-CPP03: - name: Clang C++14 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++14 - clang --version - make - - build-clang-cpp17-linux-STL: - name: Clang C++17 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++17 - clang --version - make - - build-clang-cpp17-linux-No-STL: - name: Clang C++17 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++17 - clang --version - make - - build-clang-cpp17-linux-STL-Force-CPP03: - name: Clang C++17 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++17 - clang --version - make - - build-clang-cpp17-linux-No-STL-Force-CPP03: - name: Clang C++17 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++17 - clang --version - make - - build-clang-cpp20-linux-STL: - name: Clang C++20 Linux STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++20 - clang --version - make - - build-clang-cpp20-linux-No-STL: - name: Clang C++20 Linux No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ./test/syntax_check/c++20 - clang --version - make - - build-clang-cpp20-linux-STL-Force-CPP03: - name: Clang C++20 Linux STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++20 - clang --version - make - - build-clang-cpp20-linux-No-STL-Force-CPP03: - name: Clang C++20 Linux No STL Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - - steps: - - uses: actions/checkout@v3 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ./test/syntax_check/c++20 - clang --version - make diff --git a/.github/workflows/clang.yml b/.github/workflows/clang.yml new file mode 100644 index 000000000..a6af32de1 --- /dev/null +++ b/.github/workflows/clang.yml @@ -0,0 +1,46 @@ +name: clang +on: + push: +#branches: [ master, development, pull-request/* ] + pull_request: + branches: [ master, pull-request/* ] + workflow_dispatch: + +jobs: + build-clang: + name: clang + runs-on: ${{ matrix.os }} + strategy: + matrix: + cpp-ver: [03, 11, 14, 17, 20, 23] + no-stl: [ON, OFF] + force-03: [ON, OFF] + os: [ubuntu-24.04, macos-14] + exclude: + - cpp-ver: 03 + force-03: ON + env: + ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 + CC: clang + CXX: clang++ + CXX_VER: ${{ matrix.cpp-ver }} + FORCE_03: ${{ matrix.force-03 }} + NO_STL: ${{ matrix.no-stl }} + + steps: + - uses: actions/checkout@v4 + + - name: Build + run: | + cmake . \ + -DBUILD_TESTS=ON \ + -DNO_STL=${NO_STL} \ + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ + -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ + -DETL_FORCE_TEST_CPP03=${FORCE_03} \ + -DETL_CXX_STANDARD=${CXX_VER} + clang --version + make -j $(nproc) + + - name: Run tests + run: ./test/etl_tests From 10f5ec33cfaefbf0d43fadf142a1d4604ad1bdb9 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 02:21:02 +0200 Subject: [PATCH 12/43] workflows: GCC: treat 03 as 03, not 3 --- .github/workflows/gcc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcc.yml b/.github/workflows/gcc.yml index a1c0d6643..f32e98a33 100644 --- a/.github/workflows/gcc.yml +++ b/.github/workflows/gcc.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - cpp-ver: [03, 11, 14, 17, 20, 23] + cpp-ver: ["03", 11, 14, 17, 20, 23] no-stl: [ON, OFF] force-03: [ON, OFF] exclude: From a6b49121b81d8165dee061349bd3e0a2022b8c60 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 02:49:23 +0200 Subject: [PATCH 13/43] workflows: gcc: refactor to split steps, don't try to test with C++03 --- .github/workflows/gcc.yml | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/.github/workflows/gcc.yml b/.github/workflows/gcc.yml index f32e98a33..8bc751177 100644 --- a/.github/workflows/gcc.yml +++ b/.github/workflows/gcc.yml @@ -18,6 +18,10 @@ jobs: exclude: - cpp-ver: 03 force-03: ON + include: + - tests: YES + - tests: NO + cpp-ver: "03" env: ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 CC: gcc @@ -25,21 +29,34 @@ jobs: CXX_VER: ${{ matrix.cpp-ver }} FORCE_03: ${{ matrix.force-03 }} NO_STL: ${{ matrix.no-stl }} + TESTS: ${{ matrix.tests }} steps: - uses: actions/checkout@v4 - - name: Build + - name: Versions + run: | + cmake --version + gcc --version + make --version + + - name: Configure run: | - cmake . \ - -DBUILD_TESTS=ON \ + mkdir build + cd build + cmake .. \ + -DBUILD_TESTS=${TESTS} \ -DNO_STL=${NO_STL} \ -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ -DETL_FORCE_TEST_CPP03=${FORCE_03} \ -DETL_CXX_STANDARD=${CXX_VER} - gcc --version + + - name: Build + run: | + cd build make -j $(nproc) - name: Run tests - run: ./test/etl_tests + if: ${{ matrix.tests == 'YES' }} + run: ./build/test/etl_tests From c9a1f9795ca8d94f85c13ff317ab3b9dcc42a154 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:06:41 +0200 Subject: [PATCH 14/43] workflows: try both gcc and clang in one file --- .github/workflows/clang.yml | 2 +- .github/workflows/gcc.yml | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/clang.yml b/.github/workflows/clang.yml index a6af32de1..8d34a2085 100644 --- a/.github/workflows/clang.yml +++ b/.github/workflows/clang.yml @@ -1,7 +1,7 @@ name: clang on: push: -#branches: [ master, development, pull-request/* ] + branches: [ master, development, pull-request/* ] pull_request: branches: [ master, pull-request/* ] workflow_dispatch: diff --git a/.github/workflows/gcc.yml b/.github/workflows/gcc.yml index 8bc751177..da51f6323 100644 --- a/.github/workflows/gcc.yml +++ b/.github/workflows/gcc.yml @@ -15,6 +15,7 @@ jobs: cpp-ver: ["03", 11, 14, 17, 20, 23] no-stl: [ON, OFF] force-03: [ON, OFF] + compiler: [GCC, LLVM] exclude: - cpp-ver: 03 force-03: ON @@ -22,10 +23,16 @@ jobs: - tests: YES - tests: NO cpp-ver: "03" + - compiler: GCC + cc: gcc + cxx: g++ + - compiler: clang + cc: clang + cxx: clang++ env: ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 - CC: gcc - CXX: g++ + CC: ${{ matrix.cc }} + CXX: ${{ matrix.cxx }} CXX_VER: ${{ matrix.cpp-ver }} FORCE_03: ${{ matrix.force-03 }} NO_STL: ${{ matrix.no-stl }} From 07173ab6d96e1c1d71a899d62915d11ff37e8436 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:08:52 +0200 Subject: [PATCH 15/43] workflows: fix bugs after merging GCC and LLVM workflows --- .github/workflows/gcc.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gcc.yml b/.github/workflows/gcc.yml index da51f6323..f81544e6f 100644 --- a/.github/workflows/gcc.yml +++ b/.github/workflows/gcc.yml @@ -26,7 +26,7 @@ jobs: - compiler: GCC cc: gcc cxx: g++ - - compiler: clang + - compiler: LLVM cc: clang cxx: clang++ env: @@ -44,7 +44,7 @@ jobs: - name: Versions run: | cmake --version - gcc --version + ${CXX} --version make --version - name: Configure From ae8ac979a4ca6f7252e78aa2566b593456fef627 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:11:58 +0200 Subject: [PATCH 16/43] tests: clang: disable Wvla-cxx-extension --- test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cad0feaeb..bdb626274 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -410,6 +410,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") -Wfloat-equal -Wshadow -Wnull-dereference + -Wno-vla-cxx-extension ) endif () From f0f49df79c468bef5a2d6d259e4b7323cc44a934 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:12:23 +0200 Subject: [PATCH 17/43] workflows: rename gcc to linux --- .github/workflows/{gcc.yml => linux.yml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{gcc.yml => linux.yml} (97%) diff --git a/.github/workflows/gcc.yml b/.github/workflows/linux.yml similarity index 97% rename from .github/workflows/gcc.yml rename to .github/workflows/linux.yml index f81544e6f..0496306ff 100644 --- a/.github/workflows/gcc.yml +++ b/.github/workflows/linux.yml @@ -7,8 +7,8 @@ on: workflow_dispatch: jobs: - build-gcc-linux: - name: GCC Linux + linux: + name: Linux runs-on: ubuntu-24.04 strategy: matrix: From f2a43ca0e60f546b7c1f541ed6e8d1149920c85c Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:20:55 +0200 Subject: [PATCH 18/43] workflows: can we do all posix testing in one workflow? --- .github/workflows/linux.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 0496306ff..29cadeacb 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -9,20 +9,23 @@ on: jobs: linux: name: Linux - runs-on: ubuntu-24.04 + runs-on: ${{ matrix.os }} strategy: matrix: cpp-ver: ["03", 11, 14, 17, 20, 23] no-stl: [ON, OFF] force-03: [ON, OFF] compiler: [GCC, LLVM] + os: [ubuntu-24.04] exclude: - cpp-ver: 03 force-03: ON include: - tests: YES - - tests: NO - cpp-ver: "03" + - cpp-ver: "03" + tests: NO + - compiler: LLVM + os: macos-14 - compiler: GCC cc: gcc cxx: g++ From 1afb9cc3601daa073e7c9e39a35181ea1c6cf020 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:23:01 +0200 Subject: [PATCH 19/43] workflows: still trying for single-file-posix --- .github/workflows/linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 29cadeacb..a2eccc4bc 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -16,16 +16,16 @@ jobs: no-stl: [ON, OFF] force-03: [ON, OFF] compiler: [GCC, LLVM] - os: [ubuntu-24.04] + os: [ubuntu-24.04, macos-14] exclude: - cpp-ver: 03 force-03: ON + - compiler: GCC + os: macos-14 include: - tests: YES - cpp-ver: "03" tests: NO - - compiler: LLVM - os: macos-14 - compiler: GCC cc: gcc cxx: g++ From 38fbc84a1a1211367f6d41f841fd5593702e4d0c Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:31:22 +0200 Subject: [PATCH 20/43] tests: only add -Wno-vla-cxx-extension if the compiler has it --- test/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bdb626274..b942258b6 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.5.0) project(etl_unit_tests LANGUAGES CXX) +include(CheckCXXCompilerFlag) + #include(FetchContent) #FetchContent_Declare( # googletest @@ -410,10 +412,14 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") -Wfloat-equal -Wshadow -Wnull-dereference - -Wno-vla-cxx-extension ) endif () +check_cxx_compiler_flag(-Wvla-cxx-extension HAS_VLA_CXX_EXT) +if(${HAS_VLA_CXX_EXT}) + target_compile_options(-Wno-vla-cxx-extension) +endif () + if ((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) if (ETL_ENABLE_SANITIZER MATCHES "ON") message(STATUS "Compiling with Sanitizer enabled") From 27aba5e32b91486c7ba18ce79600858af64c5673 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:33:07 +0200 Subject: [PATCH 21/43] tests: fix stupid mistake --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b942258b6..73e21543b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -417,7 +417,7 @@ endif () check_cxx_compiler_flag(-Wvla-cxx-extension HAS_VLA_CXX_EXT) if(${HAS_VLA_CXX_EXT}) - target_compile_options(-Wno-vla-cxx-extension) + target_compile_options(etl_tests PRIVATE -Wno-vla-cxx-extension) endif () if ((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) From a6ca3b2511cc34b0b8c5fbd789ae7678a736d63c Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 03:48:14 +0200 Subject: [PATCH 22/43] workflows: all posix builds in a single file work --- .github/workflows/clang.yml | 46 ---------------------- .github/workflows/{linux.yml => posix.yml} | 6 +-- 2 files changed, 3 insertions(+), 49 deletions(-) delete mode 100644 .github/workflows/clang.yml rename .github/workflows/{linux.yml => posix.yml} (97%) diff --git a/.github/workflows/clang.yml b/.github/workflows/clang.yml deleted file mode 100644 index 8d34a2085..000000000 --- a/.github/workflows/clang.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: clang -on: - push: - branches: [ master, development, pull-request/* ] - pull_request: - branches: [ master, pull-request/* ] - workflow_dispatch: - -jobs: - build-clang: - name: clang - runs-on: ${{ matrix.os }} - strategy: - matrix: - cpp-ver: [03, 11, 14, 17, 20, 23] - no-stl: [ON, OFF] - force-03: [ON, OFF] - os: [ubuntu-24.04, macos-14] - exclude: - - cpp-ver: 03 - force-03: ON - env: - ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 - CC: clang - CXX: clang++ - CXX_VER: ${{ matrix.cpp-ver }} - FORCE_03: ${{ matrix.force-03 }} - NO_STL: ${{ matrix.no-stl }} - - steps: - - uses: actions/checkout@v4 - - - name: Build - run: | - cmake . \ - -DBUILD_TESTS=ON \ - -DNO_STL=${NO_STL} \ - -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ - -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ - -DETL_FORCE_TEST_CPP03=${FORCE_03} \ - -DETL_CXX_STANDARD=${CXX_VER} - clang --version - make -j $(nproc) - - - name: Run tests - run: ./test/etl_tests diff --git a/.github/workflows/linux.yml b/.github/workflows/posix.yml similarity index 97% rename from .github/workflows/linux.yml rename to .github/workflows/posix.yml index a2eccc4bc..634dd245a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/posix.yml @@ -1,4 +1,4 @@ -name: gcc +name: posix on: push: #branches: [ master, development, pull-request/* ] @@ -7,8 +7,8 @@ on: workflow_dispatch: jobs: - linux: - name: Linux + posix: + name: Posix runs-on: ${{ matrix.os }} strategy: matrix: From 89069aff036aa6cc9dfd5f43bfc6e3619bd868b8 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 04:33:18 +0200 Subject: [PATCH 23/43] workflows: actually get the number of cores on MacOS --- .github/workflows/posix.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 634dd245a..4f26e3468 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -65,7 +65,8 @@ jobs: - name: Build run: | cd build - make -j $(nproc) + # getconf as portable solution via https://stackoverflow.com/a/64571679/6178613 + make -j $(getconf _NPROCESSORS_ONLN) - name: Run tests if: ${{ matrix.tests == 'YES' }} From f27899fe66384b0859d73f7c4c8b5cf035fb6994 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 04:58:29 +0200 Subject: [PATCH 24/43] workflow: bring back syntax checks --- .github/workflows/posix.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 4f26e3468..94b1a8ccf 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -39,7 +39,6 @@ jobs: CXX_VER: ${{ matrix.cpp-ver }} FORCE_03: ${{ matrix.force-03 }} NO_STL: ${{ matrix.no-stl }} - TESTS: ${{ matrix.tests }} steps: - uses: actions/checkout@v4 @@ -50,19 +49,32 @@ jobs: ${CXX} --version make --version + - name: Syntax check + run: + mkdir syntax-check + cd syntax-check + cmake ../test/syntax_check/c++${CXX_VER} \ + -DNO_STL=${NO_STL} \ + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ + -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ + make -j $(getconf _NPROCESSORS_ONLN) + - name: Configure + if: ${{ matrix.tests == 'YES' }} run: | mkdir build cd build cmake .. \ - -DBUILD_TESTS=${TESTS} \ + -DBUILD_TESTS=YES \ -DNO_STL=${NO_STL} \ -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ - -DETL_FORCE_TEST_CPP03=${FORCE_03} \ + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ -DETL_CXX_STANDARD=${CXX_VER} - name: Build + if: ${{ matrix.tests == 'YES' }} run: | cd build # getconf as portable solution via https://stackoverflow.com/a/64571679/6178613 From 4863864f87da2b0cf0dcfc8aeb328c5351328bda Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 05:00:26 +0200 Subject: [PATCH 25/43] workflow: posix: fix typo for syntax check --- .github/workflows/posix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 94b1a8ccf..ca0e69880 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -50,7 +50,7 @@ jobs: make --version - name: Syntax check - run: + run: | mkdir syntax-check cd syntax-check cmake ../test/syntax_check/c++${CXX_VER} \ From 45d9ec6249988e4582a401464aece667476d76e1 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 05:01:55 +0200 Subject: [PATCH 26/43] workflows: posix: another syntax check typo --- .github/workflows/posix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index ca0e69880..53082439c 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -57,7 +57,7 @@ jobs: -DNO_STL=${NO_STL} \ -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ - -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} make -j $(getconf _NPROCESSORS_ONLN) - name: Configure From 1dec88c45fe8038103cabba297f557ee9c1587df Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 05:11:18 +0200 Subject: [PATCH 27/43] workflows: MacOS is weird, drop the runner to 13 --- .github/workflows/posix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 53082439c..d21696347 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -16,7 +16,7 @@ jobs: no-stl: [ON, OFF] force-03: [ON, OFF] compiler: [GCC, LLVM] - os: [ubuntu-24.04, macos-14] + os: [ubuntu-24.04, macos-13] exclude: - cpp-ver: 03 force-03: ON From 7befca19bf49f8cd5de455325bc444b0e66b983b Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 05:13:17 +0200 Subject: [PATCH 28/43] workflows: maybe macos-12 will work? --- .github/workflows/posix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index d21696347..528e9463b 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -16,12 +16,12 @@ jobs: no-stl: [ON, OFF] force-03: [ON, OFF] compiler: [GCC, LLVM] - os: [ubuntu-24.04, macos-13] + os: [ubuntu-24.04, macos-12] exclude: - cpp-ver: 03 force-03: ON - compiler: GCC - os: macos-14 + os: macos-12 include: - tests: YES - cpp-ver: "03" From 6f3b4687e411975c8638cd36a8b0cbcebf6548c4 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Wed, 3 Jul 2024 05:18:52 +0200 Subject: [PATCH 29/43] platform.h: fix? C++03 on Apple --- include/etl/platform.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/etl/platform.h b/include/etl/platform.h index da9307b4d..8f46b698a 100644 --- a/include/etl/platform.h +++ b/include/etl/platform.h @@ -370,7 +370,7 @@ SOFTWARE. //************************************* // Define the large character types if necessary. -#if ETL_NO_LARGE_CHAR_SUPPORT +#if ETL_NO_LARGE_CHAR_SUPPORT && !defined(ETL_DEVELOPMENT_OS_APPLE) typedef uint_least16_t char16_t; typedef uint_least32_t char32_t; #define ETL_HAS_NATIVE_CHAR16_T 0 From 644f532b304856e519b1ccf2b85e75255e8032f6 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 03:13:31 +0200 Subject: [PATCH 30/43] ci: workflows: move MSVC to use a matrix --- .github/workflows/msvc.yml | 102 +++++++++++-------------------------- 1 file changed, 30 insertions(+), 72 deletions(-) diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index c63a35c2e..bdb077a5b 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -1,95 +1,53 @@ name: msvc on: push: - branches: [ master, development, pull-request/* ] +#branches: [ master, development, pull-request/* ] pull_request: branches: [ master, pull-request/* ] jobs: - build-windows-msvc-stl: - name: Windows - STL + windows: + name: Windows runs-on: [windows-2022] + strategy: + matrix: + cpp-ver: ["03", 11, 14, 17, 20] + no-stl: [ON, OFF] + force-03: [ON, OFF] + exclude: + - cpp-ver: 03 + force-03: ON + include: + - cpp-ver: "03" + tests: NO + + env: + CXX_VER: ${{ matrix.cpp-ver }} + FORCE_03: ${{ matrix.force-03 }} + NO_STL: ${{ matrix.no-stl }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.0.2 + uses: microsoft/setup-msbuild@v2 - name: Build run: | - cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ - MSBuild.exe -version - MSBuild.exe .\etl.sln - - - name: Run tests - run: test/Debug/etl_tests.exe - - build-windows-msvc-no-stl: - name: Windows - No STL - runs-on: [windows-2022] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.0.2 - - - name: Build - run: | - cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=17 ./ - MSBuild.exe -version - MSBuild.exe .\etl.sln - - - name: Run tests - run: test/Debug/etl_tests.exe - - build-windows-msvc-stl-force-cpp03: - name: Windows - STL - Force C++03 - runs-on: [windows-2022] - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.0.2 - - - name: Build - run: | - cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=17 ./ - MSBuild.exe -version - MSBuild.exe .\etl.sln - - - name: Run tests - run: test/Debug/etl_tests.exe - - build-windows-msvc-no-stl-force-cpp03: - name: Windows - No STL - Force C++03 - runs-on: [windows-2022] - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.0.2 - - - name: Build - run: | - cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=17 ./ + cmake -G "Visual Studio 17 2022" \ + ./ \ + -AWin32 \ + -DBUILD_TESTS=ON \ + -DNO_STL=${NO_STL} \ + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ + -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ + -DETL_CXX_STANDARD=${CXX_VER} MSBuild.exe -version MSBuild.exe .\etl.sln - name: Run tests run: test/Debug/etl_tests.exe - From 29eb2b322ddc228f33437bdfa948c88951c57b7d Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 03:18:59 +0200 Subject: [PATCH 31/43] ci: workflow: msvc: fix line continuations --- .github/workflows/msvc.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index bdb077a5b..54886b091 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -37,14 +37,14 @@ jobs: - name: Build run: | - cmake -G "Visual Studio 17 2022" \ - ./ \ - -AWin32 \ - -DBUILD_TESTS=ON \ - -DNO_STL=${NO_STL} \ - -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ - -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ - -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ + cmake -G "Visual Studio 17 2022" ` + ./ ` + -AWin32 ` + -DBUILD_TESTS=ON ` + -DNO_STL=${NO_STL} ` + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF ` + -DETL_USER_DEFINED_TYPE_TRAITS=OFF ` + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} ` -DETL_CXX_STANDARD=${CXX_VER} MSBuild.exe -version MSBuild.exe .\etl.sln From 1630b708b85d008eaecdcedcbd87d6c81778ab42 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 03:21:15 +0200 Subject: [PATCH 32/43] ci: workflows: msvc: trying to get a multine command working --- .github/workflows/msvc.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index 54886b091..e22fc62c0 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -36,18 +36,19 @@ jobs: uses: microsoft/setup-msbuild@v2 - name: Build + shell: bash run: | - cmake -G "Visual Studio 17 2022" ` - ./ ` - -AWin32 ` - -DBUILD_TESTS=ON ` - -DNO_STL=${NO_STL} ` - -DETL_USE_TYPE_TRAITS_BUILTINS=OFF ` - -DETL_USER_DEFINED_TYPE_TRAITS=OFF ` - -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} ` + cmake -G "Visual Studio 17 2022" \ + ./ \ + -AWin32 \ + -DBUILD_TESTS=ON \ + -DNO_STL=${NO_STL} \ + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ + -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ -DETL_CXX_STANDARD=${CXX_VER} MSBuild.exe -version - MSBuild.exe .\etl.sln + MSBuild.exe ./etl.sln - name: Run tests run: test/Debug/etl_tests.exe From 79f48220a218db9ea1aca73a8da8e28a42ae38d8 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 03:27:57 +0200 Subject: [PATCH 33/43] ci: workflow: msvc: parallelize the build --- .github/workflows/msvc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index e22fc62c0..0e74c9893 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -48,7 +48,7 @@ jobs: -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ -DETL_CXX_STANDARD=${CXX_VER} MSBuild.exe -version - MSBuild.exe ./etl.sln + MSBuild.exe -m ./etl.sln - name: Run tests run: test/Debug/etl_tests.exe From 870ea2d9cd77a7b300b7d92a22d05c51a97900bb Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 03:45:36 +0200 Subject: [PATCH 34/43] ci: workflows: split posix into separate linux and macos builds --- .github/workflows/{posix.yml => linux.yml} | 5 +- .github/workflows/macos.yml | 75 ++++++++++++++++++++++ 2 files changed, 76 insertions(+), 4 deletions(-) rename .github/workflows/{posix.yml => linux.yml} (94%) create mode 100644 .github/workflows/macos.yml diff --git a/.github/workflows/posix.yml b/.github/workflows/linux.yml similarity index 94% rename from .github/workflows/posix.yml rename to .github/workflows/linux.yml index 528e9463b..c5137e737 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/linux.yml @@ -9,19 +9,16 @@ on: jobs: posix: name: Posix - runs-on: ${{ matrix.os }} + runs-on: ubuntu-24.04 strategy: matrix: cpp-ver: ["03", 11, 14, 17, 20, 23] no-stl: [ON, OFF] force-03: [ON, OFF] compiler: [GCC, LLVM] - os: [ubuntu-24.04, macos-12] exclude: - cpp-ver: 03 force-03: ON - - compiler: GCC - os: macos-12 include: - tests: YES - cpp-ver: "03" diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 000000000..e209c7c75 --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,75 @@ +name: posix +on: + push: +#branches: [ master, development, pull-request/* ] + pull_request: + branches: [ master, pull-request/* ] + workflow_dispatch: + +jobs: + posix: + name: Posix + runs-on: macos-12 + strategy: + matrix: + cpp-ver: ["03", 11, 14, 17, 20, 23] + no-stl: [ON, OFF] + force-03: [ON, OFF] + exclude: + - cpp-ver: 03 + force-03: ON + include: + - tests: YES + - cpp-ver: "03" + tests: NO + env: + ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 + CC: clang + CXX: clang++ + CXX_VER: ${{ matrix.cpp-ver }} + FORCE_03: ${{ matrix.force-03 }} + NO_STL: ${{ matrix.no-stl }} + + steps: + - uses: actions/checkout@v4 + + - name: Versions + run: | + cmake --version + ${CXX} --version + make --version + + - name: Syntax check + run: | + mkdir syntax-check + cd syntax-check + cmake ../test/syntax_check/c++${CXX_VER} \ + -DNO_STL=${NO_STL} \ + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ + -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} + make -j $(getconf _NPROCESSORS_ONLN) + + - name: Configure + if: ${{ matrix.tests == 'YES' }} + run: | + mkdir build + cd build + cmake .. \ + -DBUILD_TESTS=YES \ + -DNO_STL=${NO_STL} \ + -DETL_USE_TYPE_TRAITS_BUILTINS=OFF \ + -DETL_USER_DEFINED_TYPE_TRAITS=OFF \ + -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=${FORCE_03} \ + -DETL_CXX_STANDARD=${CXX_VER} + + - name: Build + if: ${{ matrix.tests == 'YES' }} + run: | + cd build + # getconf as portable solution via https://stackoverflow.com/a/64571679/6178613 + make -j $(getconf _NPROCESSORS_ONLN) + + - name: Run tests + if: ${{ matrix.tests == 'YES' }} + run: ./build/test/etl_tests From 8525a360abbf4506750fb7dd4688c8d1926d004a Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 03:57:20 +0200 Subject: [PATCH 35/43] ci: workflow: macos: don't build for C++23, as available LLVM doesn't support that --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e209c7c75..bcc7a3680 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -12,7 +12,7 @@ jobs: runs-on: macos-12 strategy: matrix: - cpp-ver: ["03", 11, 14, 17, 20, 23] + cpp-ver: ["03", 11, 14, 17, 20] no-stl: [ON, OFF] force-03: [ON, OFF] exclude: From 0745252d5f300ffa51f9ff4e3d659c975416341c Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 03:57:31 +0200 Subject: [PATCH 36/43] ci: workflows: linux and macos: fix names --- .github/workflows/linux.yml | 4 ++-- .github/workflows/macos.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index c5137e737..365e3ef3a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -1,4 +1,4 @@ -name: posix +name: ubuntu on: push: #branches: [ master, development, pull-request/* ] @@ -8,7 +8,7 @@ on: jobs: posix: - name: Posix + name: Ubuntu runs-on: ubuntu-24.04 strategy: matrix: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index bcc7a3680..ef1ca1cf3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,4 +1,4 @@ -name: posix +name: macos on: push: #branches: [ master, development, pull-request/* ] @@ -8,7 +8,7 @@ on: jobs: posix: - name: Posix + name: macOS runs-on: macos-12 strategy: matrix: From a73def31f3eb4270c5140836816ec8149b46af16 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 04:00:00 +0200 Subject: [PATCH 37/43] ci: workflows: linux: disable C++23 --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 365e3ef3a..1700e1977 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - cpp-ver: ["03", 11, 14, 17, 20, 23] + cpp-ver: ["03", 11, 14, 17, 20] no-stl: [ON, OFF] force-03: [ON, OFF] compiler: [GCC, LLVM] From d67b99c3bf6984cd10a0b7bf74435edb17d1f963 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 04:13:08 +0200 Subject: [PATCH 38/43] ci: workflow: macos: disable C++03 and no-stl builds --- .github/workflows/macos.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index ef1ca1cf3..8622fad7d 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -9,11 +9,13 @@ on: jobs: posix: name: macOS - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: - cpp-ver: ["03", 11, 14, 17, 20] - no-stl: [ON, OFF] + #cpp-ver: ["03", 11, 14, 17, 20] + #no-stl: [ON, OFF] + cpp-ver: [11, 14, 17, 20] + no-stl: [OFF] force-03: [ON, OFF] exclude: - cpp-ver: 03 From 903dfe49d1e49e1578fb2795ad38c3254d40f372 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 04:14:40 +0200 Subject: [PATCH 39/43] Revert "platform.h: fix? C++03 on Apple" This reverts commit 6f3b4687e411975c8638cd36a8b0cbcebf6548c4. --- include/etl/platform.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/etl/platform.h b/include/etl/platform.h index 8f46b698a..da9307b4d 100644 --- a/include/etl/platform.h +++ b/include/etl/platform.h @@ -370,7 +370,7 @@ SOFTWARE. //************************************* // Define the large character types if necessary. -#if ETL_NO_LARGE_CHAR_SUPPORT && !defined(ETL_DEVELOPMENT_OS_APPLE) +#if ETL_NO_LARGE_CHAR_SUPPORT typedef uint_least16_t char16_t; typedef uint_least32_t char32_t; #define ETL_HAS_NATIVE_CHAR16_T 0 From b6e0158659f32862b2572413d29613467e4f1763 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 04:16:31 +0200 Subject: [PATCH 40/43] ci: workflows: macos: properly disable C++03 jobs --- .github/workflows/macos.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 8622fad7d..2b4e914ff 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -17,9 +17,9 @@ jobs: cpp-ver: [11, 14, 17, 20] no-stl: [OFF] force-03: [ON, OFF] - exclude: - - cpp-ver: 03 - force-03: ON + #exclude: + #- cpp-ver: 03 + #force-03: ON include: - tests: YES - cpp-ver: "03" From 3e30d5b99f8392f7faf0292b5af28123ef1c6fc2 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 04:17:40 +0200 Subject: [PATCH 41/43] ci: workflows: macos: missed one instance of macOS C++03 --- .github/workflows/macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2b4e914ff..4dcb9e178 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -22,8 +22,8 @@ jobs: #force-03: ON include: - tests: YES - - cpp-ver: "03" - tests: NO + #- cpp-ver: "03" + #tests: NO env: ASAN_OPTIONS: alloc_dealloc_mismatch=0,detect_leaks=0 CC: clang From 54e071abc712040289d7596d846d3a4485b1a963 Mon Sep 17 00:00:00 2001 From: jaskij Date: Sun, 14 Jul 2024 04:45:24 +0200 Subject: [PATCH 42/43] ci: workflows: restore branch filters --- .github/workflows/linux.yml | 2 +- .github/workflows/macos.yml | 2 +- .github/workflows/msvc.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 1700e1977..e9c8ec66b 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -1,7 +1,7 @@ name: ubuntu on: push: -#branches: [ master, development, pull-request/* ] + branches: [ master, development, pull-request/* ] pull_request: branches: [ master, pull-request/* ] workflow_dispatch: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 4dcb9e178..dfb0e5630 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,7 +1,7 @@ name: macos on: push: -#branches: [ master, development, pull-request/* ] + branches: [ master, development, pull-request/* ] pull_request: branches: [ master, pull-request/* ] workflow_dispatch: diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index 0e74c9893..834630e2e 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -1,7 +1,7 @@ name: msvc on: push: -#branches: [ master, development, pull-request/* ] + branches: [ master, development, pull-request/* ] pull_request: branches: [ master, pull-request/* ] From 6e6345547e84501c4075b1ec81e00591fbddc627 Mon Sep 17 00:00:00 2001 From: Jan Dorniak Date: Mon, 15 Jul 2024 10:56:42 +0200 Subject: [PATCH 43/43] tests: restore VLA warnings --- test/CMakeLists.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 73e21543b..cad0feaeb 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,8 +1,6 @@ cmake_minimum_required(VERSION 3.5.0) project(etl_unit_tests LANGUAGES CXX) -include(CheckCXXCompilerFlag) - #include(FetchContent) #FetchContent_Declare( # googletest @@ -415,11 +413,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") ) endif () -check_cxx_compiler_flag(-Wvla-cxx-extension HAS_VLA_CXX_EXT) -if(${HAS_VLA_CXX_EXT}) - target_compile_options(etl_tests PRIVATE -Wno-vla-cxx-extension) -endif () - if ((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) if (ETL_ENABLE_SANITIZER MATCHES "ON") message(STATUS "Compiling with Sanitizer enabled")