diff --git a/.github/workflows/build-test-linux-vcpkg.yml b/.github/workflows/build-test-linux-vcpkg.yml index 774fe79079e7..5a748399a0dc 100644 --- a/.github/workflows/build-test-linux-vcpkg.yml +++ b/.github/workflows/build-test-linux-vcpkg.yml @@ -47,7 +47,7 @@ jobs: matrix: config: [Debug, Release] arch: [x64, arm64] - compiler: [Clang 20, GCC 11] + compiler: [Clang 20, GCC 14] full_config_build: - ${{ fromJSON( inputs.full_config_build ) }} exclude: @@ -55,19 +55,19 @@ jobs: - full_config_build: false compiler: Clang 20 config: Debug - # Do not run Release GCC 11 build on every commit (but only once a day) + # Do not run Release GCC 14 build on every commit (but only once a day) - full_config_build: false - compiler: GCC 11 + compiler: GCC 14 config: Release include: - compiler: Clang 20 cxx-compiler: /usr/bin/clang++-20 c-compiler: /usr/bin/clang-20 cxx-standard: 23 - - compiler: GCC 11 - cxx-compiler: /opt/rh/gcc-toolset-11/root/usr/bin/g++ - c-compiler: /opt/rh/gcc-toolset-11/root/usr/bin/gcc - cxx-standard: 20 + - compiler: GCC 14 + cxx-compiler: /opt/rh/gcc-toolset-14/root/usr/bin/g++ + c-compiler: /opt/rh/gcc-toolset-14/root/usr/bin/gcc + cxx-standard: 23 - arch: x64 os: ubuntu-latest - arch: arm64 @@ -83,9 +83,9 @@ jobs: AWS_EC2_METADATA_DISABLED: true steps: - - name: Enable GCC 11 toolset + - name: Enable GCC 14 toolset run: | - source /opt/rh/gcc-toolset-11/enable + source /opt/rh/gcc-toolset-14/enable for VAR in PATH ; do echo "${VAR}=${!VAR}" >> $GITHUB_ENV echo "${VAR}=${!VAR}" @@ -139,7 +139,9 @@ jobs: run: make -f scripts/mrbind/generate.mk -B --trace TARGET=c DEPS_BASE_DIR=/opt/vcpkg/installed/${{ matrix.arch }}-linux-meshlib CXX_FOR_BINDINGS=/usr/bin/clang++ - name: Build - run: ./scripts/build_source.sh + run: | + grep -RInP '(typedef enum|enum //) .*ObjectSelectivity' /__w/MeshLib/MeshLib/source/MeshLibC2 + ./scripts/build_source.sh env: MESHLIB_BUILD_RELEASE: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Release'] }} MESHLIB_BUILD_DEBUG: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Debug'] }} @@ -150,7 +152,7 @@ jobs: -DMR_PLATFORM=Linux_vcpkg -DMR_CXX_STANDARD=${{ matrix.cxx-standard }} -DMR_PCH_USE_EXTRA_HEADERS=ON - -DCMAKE_CUDA_HOST_COMPILER=/opt/rh/gcc-toolset-11/root/usr/bin/g++ + -DCMAKE_CUDA_HOST_COMPILER=/opt/rh/gcc-toolset-14/root/usr/bin/g++ -DMESHLIB_BUILD_GENERATED_C_BINDINGS=${{ fromJSON('["OFF", "ON"]')[inputs.mrbind_c] }} -DMRVIEWER_NO_GTK=ON -DMRVIEWER_WITH_BUNDLED_CURL=ON diff --git a/docker/rockylinux8-vcpkgDockerfile b/docker/rockylinux8-vcpkgDockerfile index bc6e071c9c72..7d2e8aece101 100644 --- a/docker/rockylinux8-vcpkgDockerfile +++ b/docker/rockylinux8-vcpkgDockerfile @@ -7,7 +7,7 @@ FROM rockylinux:8 AS build RUN echo "install_weak_deps=false" >> /etc/dnf/dnf.conf && \ dnf -y install epel-release && \ dnf -y install --enablerepo powertools \ - git cmake gcc-toolset-11 ninja-build clang-devel \ + git cmake gcc-toolset-14 ninja-build clang-devel \ $(: vcpkg requirements ) \ curl zip unzip tar \ $(: vcpkg package requirements ) \ @@ -46,14 +46,14 @@ COPY thirdparty/vcpkg/triplets MeshLib/triplets ARG VCPKG_TRIPLET ENV VCPKG_TRIPLET=$VCPKG_TRIPLET -RUN source /opt/rh/gcc-toolset-11/enable && \ +RUN source /opt/rh/gcc-toolset-14/enable && \ source /opt/autoconf27/enable && \ source /root/venv/bin/activate && \ ./vcpkg install --host-triplet=${VCPKG_TRIPLET} --overlay-triplets=MeshLib/triplets --overlay-ports=MeshLib/ports $(cat MeshLib/requirements.txt | tr '\n' ' ') RUN ./vcpkg export --host-triplet=${VCPKG_TRIPLET} --overlay-triplets=MeshLib/triplets --x-all-installed --raw --output=vcpkg --output-dir=/opt -FROM nvidia/cuda:12.0.1-devel-rockylinux8 AS production +FROM nvidia/cuda:12.8.0-devel-rockylinux8 AS production COPY --from=build /opt/vcpkg /opt/vcpkg @@ -66,7 +66,7 @@ ENV VCPKG_TRIPLET=$VCPKG_TRIPLET RUN echo "install_weak_deps=false" >> /etc/dnf/dnf.conf && \ dnf -y install --enablerepo powertools \ - git cmake gcc-toolset-11 ninja-build clang-devel \ + git cmake gcc-toolset-14 ninja-build clang-devel \ $(: vcpkg requirements ) \ curl zip unzip tar \ $(: vcpkg package requirements ) \