Skip to content
Open
24 changes: 13 additions & 11 deletions .github/workflows/build-test-linux-vcpkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,27 +47,27 @@ 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:
# Do not run Debug Clang 20 build on every commit (but only once a day)
- 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
Expand All @@ -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}"
Expand Down Expand Up @@ -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'] }}
Expand All @@ -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
Expand Down
8 changes: 4 additions & 4 deletions docker/rockylinux8-vcpkgDockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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 ) \
Expand Down Expand Up @@ -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

Expand All @@ -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 ) \
Expand Down
Loading