diff --git a/.github/workflows/build-dockerfile.yml b/.github/workflows/build-dockerfile.yml index 029f96a8..73e16e0d 100644 --- a/.github/workflows/build-dockerfile.yml +++ b/.github/workflows/build-dockerfile.yml @@ -69,8 +69,8 @@ jobs: OS_NAME='ubuntu' OS_VERSION='22.04' - C_COMPILER='gcc-12' - CXX_COMPILER='g++-12' + C_COMPILER='clang-17' + CXX_COMPILER='clang++-17' BUILD_BASE_IMAGE="ghcr.io/paulsengroup/ci-docker-images/$OS_NAME-$OS_VERSION-cxx-$C_COMPILER:latest" TEST_BASE_IMAGE="$BUILD_BASE_IMAGE" diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 6b7c9cff..c26008cf 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -54,7 +54,7 @@ jobs: needs: cache-test-dataset runs-on: ubuntu-latest container: - image: ghcr.io/paulsengroup/ci-docker-images/ubuntu-22.04-cxx-gcc-12 + image: ghcr.io/paulsengroup/ci-docker-images/ubuntu-23.04-cxx-gcc-13 options: '--user=root' steps: @@ -226,7 +226,7 @@ jobs: with: fail_ci_if_error: true gcov: true - gcov_executable: gcov-12 + gcov_executable: gcov-13 os: linux token: ${{ secrets.CODECOV_TOKEN }} verbose: true diff --git a/.github/workflows/fuzzy-testing.yml b/.github/workflows/fuzzy-testing.yml index e29c9cd2..d74956f5 100644 --- a/.github/workflows/fuzzy-testing.yml +++ b/.github/workflows/fuzzy-testing.yml @@ -96,7 +96,7 @@ jobs: } container: - image: ghcr.io/paulsengroup/ci-docker-images/ubuntu-22.04-cxx-clang-15 + image: ghcr.io/paulsengroup/ci-docker-images/ubuntu-22.04-cxx-clang-16 options: "--user=root" env: @@ -193,8 +193,8 @@ jobs: working-directory: hictkpy run: | pip install --upgrade pip setuptools wheel pybind11 - env CC=clang-15 \ - CXX=clang++-15 \ + env CC=clang-16 \ + CXX=clang++-16 \ CMAKE_ARGS="-DCMAKE_PREFIX_PATH=$PWD/../build" \ HICTKPY_SETUP_SKIP_CONAN=1 \ pip install . -v diff --git a/.github/workflows/run-clang-tidy.yml b/.github/workflows/run-clang-tidy.yml index 0f8f45b2..42bde0eb 100644 --- a/.github/workflows/run-clang-tidy.yml +++ b/.github/workflows/run-clang-tidy.yml @@ -48,7 +48,7 @@ jobs: run-clang-tidy: runs-on: ubuntu-latest container: - image: ghcr.io/paulsengroup/ci-docker-images/ubuntu-22.04-cxx-clang-15 + image: ghcr.io/paulsengroup/ci-docker-images/ubuntu-22.04-cxx-clang-17 options: '--user=root' steps: diff --git a/.github/workflows/ubuntu-ci.yml b/.github/workflows/ubuntu-ci.yml index e06ea125..279cb429 100644 --- a/.github/workflows/ubuntu-ci.yml +++ b/.github/workflows/ubuntu-ci.yml @@ -71,47 +71,51 @@ jobs: var includes = [] // Debug builds (short CI) - includes.push({ compiler: 'gcc-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'gcc-12', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) - includes.push({ compiler: 'clang-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-15', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) + includes.push({ compiler: 'gcc-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'gcc-13', os: 'ubuntu-23.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-17', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) // Release builds (short CI) - includes.push({ compiler: 'gcc-12', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) - includes.push({ compiler: 'clang-15', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'gcc-13', os: 'ubuntu-23.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-17', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) if (ci_short) { return { include: includes } } // Debug builds (long CI) - includes.push({ compiler: 'gcc-9', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'gcc-10', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'gcc-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) - includes.push({ compiler: 'clang-9', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-10', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-12', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-13', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) - includes.push({ compiler: 'clang-14', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) + includes.push({ compiler: 'gcc-9', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'gcc-10', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'gcc-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-9', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-10', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-12', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-13', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-14', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-15', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-16', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Debug', developer_mode: 'ON' }) // Release builds (long CI) - includes.push({ compiler: 'gcc-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) - includes.push({ compiler: 'gcc-9', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) - includes.push({ compiler: 'gcc-10', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) - includes.push({ compiler: 'gcc-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) - includes.push({ compiler: 'clang-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-9', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-10', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) - includes.push({ compiler: 'clang-12', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) - includes.push({ compiler: 'clang-13', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) - includes.push({ compiler: 'clang-14', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'gcc-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'gcc-9', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'gcc-10', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'gcc-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-8', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-9', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-10', os: 'ubuntu-20.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-11', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-12', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-13', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-14', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-15', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) + includes.push({ compiler: 'clang-16', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'ON' }) // Make sure project builds with CMake 3.25 - includes.push({ compiler: 'clang-15', os: 'ubuntu-22.04', generator: 'Ninja', cmake: '3.25.2', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-17', os: 'ubuntu-23.04', generator: 'Ninja', cmake: '3.25.2', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) // Make sure project builds with make - includes.push({ compiler: 'clang-15', os: 'ubuntu-22.04', generator: 'Unix Makefiles', cmake: '3.26.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) + includes.push({ compiler: 'clang-17', os: 'ubuntu-23.04', generator: 'Unix Makefiles', cmake: '3.27.*', conan: '2.0.*', build_type: 'Release', developer_mode: 'OFF' }) return { include: includes }