- name: Download vcpkg cache
uses: ./.github/actions/download-vcpkg-cache
with:
- artifact-name: install-linux-gcc-x64-cache
+ artifact-name: install-linux-clang-x64-cache
- name: Install dependencies
- run: sudo apt-get update && sudo apt-get install -y cmake gcc g++ make libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev
+ run: sudo apt-get update && sudo apt-get install -y cmake clang g++ make libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev
shell: bash
- name: Setup Xvfb and Mesa
- name: Download and extract install directory
uses: actions/download-artifact@v4.1.7
with:
- name: install-linux-gcc-x64
+ name: install-linux-clang-x64
path: install
- name: Set execute permissions on DRAWEXE
env:
GH_TOKEN: ${{ github.token }}
run: |
- for platform in windows-x64 windows-clang-x64 macos-x64 macos-gcc-x64 linux-clang-x64 linux-gcc-x64; do
+ for platform in windows-x64 macos-x64 linux-clang-x64; do
echo "Downloading results for $platform"
gh run download ${{ env.latest_run_id }} -n "results-$platform" -D "install/bin/results/master/"
done
env:
GH_TOKEN: ${{ github.token }}
run: |
- for platform in windows-x64 windows-clang-x64 macos-x64 macos-gcc-x64 linux-clang-x64 linux-gcc-x64; do
+ for platform in windows-x64 macos-x64 linux-clang-x64; do
echo "Downloading results for $platform"
gh run download -n "results-$platform" -D "install/bin/results/current/"
done
echo "Comparing test results..."
cd install/bin
source env.sh
- for platform in windows-x64 windows-clang-x64 macos-x64 macos-gcc-x64 linux-clang-x64 linux-gcc-x64; do
+ for platform in windows-x64 macos-x64 linux-clang-x64; do
./DRAWEXE -v -c testdiff "results/current/$platform" "results/master/$platform" &
done
wait
artifact-name: install-windows-x64
github-token: ${{ secrets.GITHUB_TOKEN }}
- prepare-and-build-windows-clang-x64:
- name: Prepare and Build on Windows with Clang (x64)
- runs-on: windows-2025
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Build OCCT
- uses: ./.github/actions/build-occt
- with:
- platform: windows
- compiler: clang
- artifact-name: install-windows-clang-x64
- use-vtk: 'false'
- github-token: ${{ secrets.GITHUB_TOKEN }}
-
prepare-and-build-macos-x64:
name: Prepare and Build on macOS with Clang (x64)
runs-on: macos-15
artifact-name: install-macos-x64
github-token: ${{ secrets.GITHUB_TOKEN }}
- prepare-and-build-macos-gcc-x64:
- name: Prepare and Build on macOS with GCC (x64)
- runs-on: macos-15
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Build OCCT
- uses: ./.github/actions/build-occt
- with:
- platform: macos
- compiler: gcc
- artifact-name: install-macos-gcc-x64
- github-token: ${{ secrets.GITHUB_TOKEN }}
-
prepare-and-build-linux-clang-x64:
name: Prepare and Build on Ubuntu with Clang (x64)
runs-on: ubuntu-24.04
cmake-build-type: 'Debug'
github-token: ${{ secrets.GITHUB_TOKEN }}
- prepare-and-build-linux-gcc-x64:
- name: Prepare and Build on Ubuntu with GCC (x64)
- runs-on: ubuntu-24.04
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Build OCCT
- uses: ./.github/actions/build-occt
- with:
- platform: linux
- compiler: gcc
- artifact-name: install-linux-gcc-x64
- github-token: ${{ secrets.GITHUB_TOKEN }}
-
build-inspector-windows:
name: Build TInspector on Windows
needs: prepare-and-build-windows-x64
results-artifact-name: results-windows-x64
test-directory-name: windows-x64
- test-windows-clang-x64:
- name: Test on Windows with Clang (x64)
- runs-on: windows-2025
- needs: prepare-and-build-windows-clang-x64
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run tests
- uses: ./.github/actions/run-tests
- with:
- platform: windows
- compiler: clang
- install-artifact-name: install-windows-clang-x64
- test-directory-name: windows-clang-x64
- test-script: .github/actions/testgrid/testwindowsclang.tcl
-
- retest-windows-clang-x64:
- name: Regression Test on Windows with Clang (x64)
- runs-on: windows-2025
- needs: test-windows-clang-x64
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run retest
- uses: ./.github/actions/retest-failures
- with:
- platform: windows
- compiler: clang
- install-artifact-name: install-windows-clang-x64
- results-artifact-name: results-windows-clang-x64
- test-directory-name: windows-clang-x64
-
test-macos-x64:
name: Test on macOS (x64)
runs-on: macos-15
results-artifact-name: results-macos-x64
test-directory-name: macos-x64
- test-macos-gcc-x64:
- name: Test on macOS with GCC (x64)
- runs-on: macos-15
- needs: prepare-and-build-macos-gcc-x64
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run tests
- uses: ./.github/actions/run-tests
- with:
- platform: macos
- compiler: gcc
- install-artifact-name: install-macos-gcc-x64
- test-directory-name: macos-gcc-x64
- test-script: .github/actions/testgrid/testmacosgcc.tcl
-
- retest-macos-gcc-x64:
- name: Regression Test on macOS with GCC (x64)
- runs-on: macos-15
- needs: test-macos-gcc-x64
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run retest
- uses: ./.github/actions/retest-failures
- with:
- platform: macos
- compiler: gcc
- install-artifact-name: install-macos-gcc-x64
- results-artifact-name: results-macos-gcc-x64
- test-directory-name: macos-gcc-x64
-
test-linux-clang-x64:
name: Test on Linux with Clang (x64)
runs-on: ubuntu-24.04
results-artifact-name: results-linux-clang-x64
test-directory-name: linux-clang-x64
- test-linux-gcc-x64:
- name: Test on Linux with GCC (x64)
- runs-on: ubuntu-24.04
- needs: prepare-and-build-linux-gcc-x64
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run tests
- uses: ./.github/actions/run-tests
- with:
- platform: linux
- compiler: gcc
- install-artifact-name: install-linux-gcc-x64
- test-directory-name: linux-gcc-x64
- test-script: .github/actions/testgrid/testlinuxgcc.tcl
-
- retest-linux-gcc-x64:
- name: Regression Test on Linux with GCC (x64)
- runs-on: ubuntu-24.04
- needs: test-linux-gcc-x64
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run retest
- uses: ./.github/actions/retest-failures
- with:
- platform: linux
- compiler: gcc
- install-artifact-name: install-linux-gcc-x64
- results-artifact-name: results-linux-gcc-x64
- test-directory-name: linux-gcc-x64
-
run-gtest-windows-x64:
name: Run GTest on Windows with MSVC (x64)
needs: prepare-and-build-windows-x64
install-artifact-name: install-windows-x64
artifact-suffix: x64
- run-gtest-windows-clang-x64:
- name: Run GTest on Windows with Clang (x64)
- needs: prepare-and-build-windows-clang-x64
- runs-on: windows-2025
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run GTests
- uses: ./.github/actions/run-gtest
- with:
- platform: windows
- compiler: clang
- install-artifact-name: install-windows-clang-x64
- artifact-suffix: x64
-
run-gtest-macos-x64:
name: Run GTest on macOS with Clang (x64)
needs: prepare-and-build-macos-x64
install-artifact-name: install-macos-x64
artifact-suffix: x64
- run-gtest-macos-gcc-x64:
- name: Run GTest on macOS with GCC (x64)
- needs: prepare-and-build-macos-gcc-x64
- runs-on: macos-15
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run GTests
- uses: ./.github/actions/run-gtest
- with:
- platform: macos
- compiler: gcc
- install-artifact-name: install-macos-gcc-x64
- artifact-suffix: x64
-
run-gtest-linux-clang-x64:
name: Run GTest on Linux with Clang (x64)
needs: prepare-and-build-linux-clang-x64
install-artifact-name: install-linux-clang-x64
artifact-suffix: x64
- run-gtest-linux-gcc-x64:
- name: Run GTest on Linux with GCC (x64)
- needs: prepare-and-build-linux-gcc-x64
- runs-on: ubuntu-24.04
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4.1.7
-
- - name: Run GTests
- uses: ./.github/actions/run-gtest
- with:
- platform: linux
- compiler: gcc
- install-artifact-name: install-linux-gcc-x64
- artifact-suffix: x64
-
test-summary:
name: 'Summarize Test Results'
runs-on: ubuntu-24.04
if: ${{ !cancelled() && github.event_name == 'pull_request' }}
- needs: [retest-windows-x64, retest-windows-clang-x64, retest-macos-x64, retest-macos-gcc-x64, retest-linux-clang-x64, retest-linux-gcc-x64]
+ needs: [retest-windows-x64, retest-macos-x64, retest-linux-clang-x64]
steps:
- name: Checkout repository