From 525e738d0875aa4462026fd5f5fb971c33a061f4 Mon Sep 17 00:00:00 2001 From: Daniel Frey Date: Fri, 15 Nov 2024 21:30:53 +0100 Subject: [PATCH] Update compiler matrix for std::format support --- .github/workflows/clang-analyze.yml | 2 +- .github/workflows/clang-tidy.yml | 2 +- .github/workflows/linux.yml | 158 +--------------------------- .github/workflows/macos.yml | 27 ----- .github/workflows/sanitizer.yml | 2 +- doc/Requirements.md | 6 +- 6 files changed, 10 insertions(+), 187 deletions(-) diff --git a/.github/workflows/clang-analyze.yml b/.github/workflows/clang-analyze.yml index f1b685e..693c71b 100644 --- a/.github/workflows/clang-analyze.yml +++ b/.github/workflows/clang-analyze.yml @@ -12,7 +12,7 @@ on: jobs: clang-analyze: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index f158f16..1f965f9 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -12,7 +12,7 @@ on: jobs: clang-tidy: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d46e47c..8e2dd55 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -63,117 +63,14 @@ jobs: - working-directory: build/ run: ctest --output-on-failure - linux: - strategy: - fail-fast: false - matrix: - compiler: - - g++-10 - - g++-11 - - g++-12 - - clang++-13 - - clang++-14 - - clang++-15 - build_type: [Debug, Release] - - runs-on: ubuntu-22.04 - - services: - postgres: - image: postgres:latest - env: - POSTGRES_DB: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_USER: postgres - ports: - - 5432:5432 - # Set health checks to wait until postgres has started - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - - env: - CXX: ${{ matrix.compiler }} - TAOPQ_TEST_DATABASE: host=localhost dbname=postgres user=postgres password=postgres - - steps: - - uses: actions/checkout@v4 - - - run: sudo apt-get update -yq - - - run: sudo apt-get install -yq libpq-dev - - - run: cmake -E make_directory build - - - working-directory: build/ - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - working-directory: build/ - run: cmake --build . - - - working-directory: build/ - run: ctest --output-on-failure - - linux-old: - strategy: - fail-fast: false - matrix: - compiler: - - clang++-10 - - clang++-11 - - clang++-12 - build_type: [Debug, Release] - - runs-on: ubuntu-20.04 - - services: - postgres: - image: postgres:latest - env: - POSTGRES_DB: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_USER: postgres - ports: - - 5432:5432 - # Set health checks to wait until postgres has started - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - - env: - CXX: ${{ matrix.compiler }} - TAOPQ_TEST_DATABASE: host=localhost dbname=postgres user=postgres password=postgres - - steps: - - uses: actions/checkout@v4 - - - run: sudo apt-get update -yq - - - run: sudo apt-get install -yq libpq-dev postgresql-server-dev-all ${{ matrix.compiler }} - - - run: cmake -E make_directory build - - - working-directory: build/ - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - working-directory: build/ - run: cmake --build . - - - working-directory: build/ - run: ctest --output-on-failure - linux-gcc-extra: strategy: fail-fast: false matrix: - flags: ["-D_GLIBCXX_USE_CXX11_ABI=0"] + flags: ["-stdlib=libc++","-D_GLIBCXX_USE_CXX11_ABI=0"] build_type: [Debug, Release] - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 services: postgres: @@ -200,7 +97,7 @@ jobs: - run: sudo apt-get update -yq - - run: sudo apt-get install -yq libpq-dev + - run: sudo apt-get install -yq libpq-dev libc++-dev - run: cmake -E make_directory build @@ -220,53 +117,6 @@ jobs: flags: ["-fms-extensions"] build_type: [Debug, Release] - runs-on: ubuntu-latest - - services: - postgres: - image: postgres:latest - env: - POSTGRES_DB: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_USER: postgres - ports: - - 5432:5432 - # Set health checks to wait until postgres has started - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - - env: - CXX: clang++ - TAOPQ_TEST_DATABASE: host=localhost dbname=postgres user=postgres password=postgres - - steps: - - uses: actions/checkout@v4 - - - run: sudo apt-get update -yq - - - run: sudo apt-get install -yq libpq-dev - - - run: cmake -E make_directory build - - - working-directory: build/ - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}" - - - working-directory: build/ - run: cmake --build . - - - working-directory: build/ - run: ctest --output-on-failure - - linux-libcpp: - strategy: - fail-fast: false - matrix: - flags: ["-stdlib=libc++"] - build_type: [Debug, Release] - runs-on: ubuntu-24.04 services: @@ -294,7 +144,7 @@ jobs: - run: sudo apt-get update -yq - - run: sudo apt-get install -yq libc++-dev libpq-dev + - run: sudo apt-get install -yq libpq-dev - run: cmake -E make_directory build diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f9cddb6..3e30475 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -37,30 +37,3 @@ jobs: - working-directory: build/ run: ctest --output-on-failure - - xcode-macos-13: - strategy: - fail-fast: false - matrix: - xcode: ['13', '14', '15'] - build_type: [Debug, Release] - - runs-on: macos-13 - - env: - TAOPQ_TEST_DATABASE: host=localhost dbname=postgres user=postgres password=postgres - - steps: - - uses: actions/checkout@v4 - - uses: ikalnytskyi/action-setup-postgres@v6 - - - run: cmake -E make_directory build - - - working-directory: build/ - run: cmake $GITHUB_WORKSPACE - - - working-directory: build/ - run: cmake --build . --config ${{ matrix.build_type }} - - - working-directory: build/ - run: ctest --output-on-failure diff --git a/.github/workflows/sanitizer.yml b/.github/workflows/sanitizer.yml index acbe38e..5bec55a 100644 --- a/.github/workflows/sanitizer.yml +++ b/.github/workflows/sanitizer.yml @@ -18,7 +18,7 @@ jobs: cxx: [g++, clang++] sanitizer: [address, undefined] - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 services: postgres: diff --git a/doc/Requirements.md b/doc/Requirements.md index 89d522f..ae64ee6 100644 --- a/doc/Requirements.md +++ b/doc/Requirements.md @@ -13,9 +13,9 @@ * We support: * [Visual Studio➚](https://en.wikipedia.org/wiki/Microsoft_Visual_Studio) version 2022 or newer. * [Visual Studio➚](https://en.wikipedia.org/wiki/Microsoft_Visual_Studio) version 2019 with Clang or newer. - * [Xcode➚](https://en.wikipedia.org/wiki/Xcode) version 13 or newer. - * [GCC➚](https://gcc.gnu.org/) version 10 or newer. - * [Clang➚](https://clang.llvm.org/) version 10 or newer. + * [Xcode➚](https://en.wikipedia.org/wiki/Xcode) version 15 or newer. + * [GCC➚](https://gcc.gnu.org/) version 13 or newer. + * [Clang➚](https://clang.llvm.org/) version 16 or newer. * Other compilers might work. ## Language Requirements