From f3e0c084cfacc46ffb5cae8ab767b0593b5c0c92 Mon Sep 17 00:00:00 2001 From: Nicholas Sharp Date: Sat, 3 Jan 2026 15:24:55 -0800 Subject: [PATCH 1/2] several updates to CI scripts --- .github/workflows/linux.yml | 36 ++++++++++++++++------ .github/workflows/macos.yml | 30 +++++++++++++++--- .github/workflows/windows.yml | 58 ++++++++++++++++++++++++----------- 3 files changed, 93 insertions(+), 31 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 656953a0d..26c3fe1f7 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -8,11 +8,20 @@ on: jobs: build: + if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + + name: Build and Test (linux) - ${{ matrix.os }}-${{ matrix.arch }} + runs-on: ${{ matrix.os }} + strategy: matrix: - os: [ubuntu-latest] - runs-on: ${{ matrix.os }} - if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + include: + - os: ubuntu-latest + arch: x64 + - os: ubuntu-24.04-arm + arch: aarch64 + + steps: - uses: actions/checkout@v1 with: @@ -25,7 +34,7 @@ jobs: run: cd test && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. - name: build - run: cd test/build && make + run: cd test/build && cmake --build "." --parallel - name: run test mock backend run: cd test/build && ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL_mock @@ -37,11 +46,19 @@ jobs: run: cd test/build && ASAN_OPTIONS=detect_leaks=0 ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL3_egl build_shared: + if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + + name: Build Shared and Test (linux) - ${{ matrix.os }}-${{ matrix.arch }} + runs-on: ${{ matrix.os }} + strategy: matrix: - os: [ubuntu-latest] - runs-on: ${{ matrix.os }} - if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + include: + - os: ubuntu-latest + arch: x64 + - os: ubuntu-24.04-arm + arch: aarch64 + steps: - uses: actions/checkout@v1 with: @@ -54,7 +71,7 @@ jobs: run: cd test && mkdir build && cd build && cmake -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON -DPOLYSCOPE_BACKEND_OPENGL3_EGL=ON .. - name: build - run: cd test/build && make + run: cd test/build && cmake --build "." --parallel - name: run test mock backend run: cd test/build && ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL_mock @@ -63,4 +80,5 @@ jobs: # We get memory leaks inside of EGL that I can't track down. With ASAN, this means the exit code is always nonzero, # which is indistinguishable from tests failing. The ASAN_OPTIONS=detect_leaks=0 skips checking leaks for this test # as a workaround. - run: cd test/build && ASAN_OPTIONS=detect_leaks=0 ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL3_egl + # run: cd test/build && ASAN_OPTIONS=detect_leaks=0 ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL3_egl + run: cd test/build && ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL3_egl diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2550fd477..085c0fc29 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -8,8 +8,19 @@ on: jobs: build: - runs-on: macos-latest if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + + name: Build and Test (macOS) - ${{ matrix.os }}-${{ matrix.arch }} + runs-on: ${{ matrix.os }} + + strategy: + matrix: + include: + - os: macos-15-intel + arch: x64 + - os: macos-latest + arch: arm64 + steps: - uses: actions/checkout@v1 with: @@ -19,14 +30,25 @@ jobs: run: cd test && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. - name: build - run: cd test/build && make + run: cd test/build && cmake --build "." --parallel - name: run test run: cd test/build && ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL_mock build_shared: - runs-on: macos-latest if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + + name: Build Shared and Test (macOS) - ${{ matrix.os }}-${{ matrix.arch }} + runs-on: ${{ matrix.os }} + + strategy: + matrix: + include: + - os: macos-15-intel + arch: x64 + - os: macos-latest + arch: arm64 + steps: - uses: actions/checkout@v1 with: @@ -36,7 +58,7 @@ jobs: run: cd test && mkdir build && cd build && cmake -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. - name: build - run: cd test/build && make + run: cd test/build && cmake --build "." --parallel - name: run test run: cd test/build && ./bin/polyscope-test --gtest_catch_exceptions=0 backend=openGL_mock diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 48e865d56..a271d3314 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -8,8 +8,19 @@ on: jobs: build: - runs-on: windows-latest if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + + name: Build and Test (Windows) - ${{ matrix.os }}-${{ matrix.arch }} + runs-on: ${{ matrix.os }} + + strategy: + matrix: + include: + - os: windows-latest + arch: x64 + - os: windows-11-arm + arch: arm64 + steps: - uses: actions/checkout@v1 with: @@ -19,25 +30,36 @@ jobs: run: cd test && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. - name: build - run: cd test/build && cmake --build "." + run: cd test/build && cmake --build "." --parallel - name: run test run: cd test/build && ./bin/Debug/polyscope-test.exe --gtest_catch_exceptions=0 backend=openGL_mock # windows shared builds: disabled for now - #build_shared: - #runs-on: windows-latest - #if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" - #steps: - #- uses: actions/checkout@v1 - #with: - #submodules: true - - #- name: configure - #run: cd test && mkdir build && cd build && cmake -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. - - #- name: build - #run: cd test/build && cmake --build "." - - #- name: run test - #run: cd test/build && ./bin/Debug/polyscope-test.exe --gtest_catch_exceptions=0 backend=openGL_mock + build_shared: + if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + + name: Build Shared and Test (Windows) - ${{ matrix.os }}-${{ matrix.arch }} + runs-on: ${{ matrix.os }} + + strategy: + matrix: + include: + - os: windows-latest + arch: x64 + - os: windows-11-arm + arch: arm64 + + steps: + - uses: actions/checkout@v1 + with: + submodules: true + + - name: configure + run: cd test && mkdir build && cd build && cmake -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. + + - name: build + run: cd test/build && cmake --build "." --parallel + + - name: run test + run: cd test/build && ./bin/Debug/polyscope-test.exe --gtest_catch_exceptions=0 backend=openGL_mock From 392f531db1d3d05c440902b9ff3ba13d08461e5e Mon Sep 17 00:00:00 2001 From: Nicholas Sharp Date: Sat, 3 Jan 2026 15:31:53 -0800 Subject: [PATCH 2/2] re-disable windows shared builds --- .github/workflows/windows.yml | 44 +++++++++++++++++------------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index a271d3314..5976fb0a7 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -35,31 +35,31 @@ jobs: - name: run test run: cd test/build && ./bin/Debug/polyscope-test.exe --gtest_catch_exceptions=0 backend=openGL_mock - # windows shared builds: disabled for now - build_shared: - if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" + # windows shared builds: disabled for now, link failure that I don't know how to debug in CI + # build_shared: + # if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" - name: Build Shared and Test (Windows) - ${{ matrix.os }}-${{ matrix.arch }} - runs-on: ${{ matrix.os }} + # name: Build Shared and Test (Windows) - ${{ matrix.os }}-${{ matrix.arch }} + # runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - - os: windows-latest - arch: x64 - - os: windows-11-arm - arch: arm64 + # strategy: + # matrix: + # include: + # - os: windows-latest + # arch: x64 + # - os: windows-11-arm + # arch: arm64 - steps: - - uses: actions/checkout@v1 - with: - submodules: true + # steps: + # - uses: actions/checkout@v1 + # with: + # submodules: true - - name: configure - run: cd test && mkdir build && cd build && cmake -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. + # - name: configure + # run: cd test && mkdir build && cd build && cmake -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Debug -DPOLYSCOPE_BACKEND_OPENGL3_GLFW=ON -DPOLYSCOPE_BACKEND_OPENGL_MOCK=ON .. - - name: build - run: cd test/build && cmake --build "." --parallel + # - name: build + # run: cd test/build && cmake --build "." --parallel - - name: run test - run: cd test/build && ./bin/Debug/polyscope-test.exe --gtest_catch_exceptions=0 backend=openGL_mock + # - name: run test + # run: cd test/build && ./bin/Debug/polyscope-test.exe --gtest_catch_exceptions=0 backend=openGL_mock