Merge branch 'openscad:master' into master #249
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: macOS Experimental Tests | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| debug_enabled: | |
| type: boolean | |
| description: 'Run the build with ssh debugging enabled' | |
| required: false | |
| default: false | |
| jobs: | |
| build_and_test: | |
| strategy: | |
| matrix: | |
| os: [macos-13, macos-latest] | |
| qt: [qt5, qt6] | |
| exclude: | |
| # macos-latest runs on arm64, which has a broken SW renderer | |
| - os: macos-latest | |
| # QScintilla for qt5 is not longer available on Homebrew, and | |
| # it's too much work to keep that running. | |
| - qt: qt5 | |
| runs-on: ${{ matrix.os }} | |
| name: ${{ matrix.os }} ${{ matrix.qt }} | |
| # If it's not done in 60 minutes, something is wrong. | |
| # Default is 6 hours, which is a bit long to wait. | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Set Qt version | |
| run: | | |
| case ${{ matrix.qt }} in | |
| qt5) echo "CMAKE_OPTIONS=-DUSE_QT6=0" >> $GITHUB_ENV ;; | |
| esac | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Setup (detached) tmate ssh session if enabled | |
| if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} | |
| uses: mxschmitt/action-tmate@v3 | |
| timeout-minutes: 15 | |
| with: | |
| detached: true | |
| limit-access-to-actor: true | |
| - name: Install CMake | |
| uses: jwlawson/actions-setup-cmake@v2 | |
| with: | |
| cmake-version: 3.31.6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3.11 | |
| - name: Install Homebrew packages | |
| env: | |
| HOMEBREW_NO_AUTO_UPDATE: 1 | |
| run: | | |
| export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 | |
| ./scripts/macosx-build-homebrew.sh ${{ matrix.qt }} | |
| - name: Build OpenSCAD | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_UNITY_BUILD=OFF -DEXPERIMENTAL=ON -DSNAPSHOT=ON -DUSE_CCACHE=OFF -DUSE_BUILTIN_OPENCSG=ON $CMAKE_OPTIONS | |
| export NUMCPU=$(($(sysctl -n hw.ncpu) * 3 / 2)) | |
| make -j$NUMCPU | |
| - name: Run Test Suite | |
| # Disable pdf export test on macOS because Cairo >= 1.18 on Homebrew uses the | |
| # Quartz backend which doesn't have the Liberation Sans font we use. | |
| run: | | |
| cd build | |
| export NUMCPU=$(($(sysctl -n hw.ncpu) * 3 / 2)) | |
| ctest -j$NUMCPU -E pdfexporttest | |
| - name: Upload Test Result Report | |
| uses: actions/upload-artifact@v4 | |
| if: ${{ always() }} | |
| with: | |
| name: Test Result Report (MacOS ${{ matrix.qt }}) | |
| path: | | |
| build/Testing/Temporary/*_report.html | |
| build/Testing/Temporary/LastTest.log |