diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 656953a0..26c3fe1f 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 2550fd47..085c0fc2 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 48e865d5..5976fb0a 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 + # 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 }} + + # 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: 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: 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