name: MacOS on: [push, pull_request] env: QT_VERSION: 5.15.2 jobs: macos_build: name: Build MeshLab (MacOS) runs-on: macos-latest strategy: matrix: precision: [single_precision, double_precision] steps: - uses: actions/checkout@v3 with: submodules: recursive - name: Install dependencies run: | brew install llvm libomp cgal xerces-c npm install -g appdmg - name: Cache Qt id: cache-qt uses: actions/cache@v3 with: path: ../Qt key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }} - name: Install Qt uses: jurplel/install-qt-action@v3 with: cached: ${{ steps.cache-qt.outputs.cache-hit }} version: ${{ env.QT_VERSION }} - name: Setup env variables id: envs shell: bash run: | if [ "${{matrix.precision}}" == "double_precision" ]; then echo ::set-output name=artifact_suffix::"_double" else echo ::set-output name=artifact_suffix::"" fi - name: Configure and Build shell: bash run: | bash scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }} --nightly --use_brew_llvm - name: Deploy shell: bash run: | bash scripts/${{ runner.os }}/2_deploy.sh - name: Create DMG shell: bash run: | bash scripts/${{ runner.os }}/3_dmg.sh - name: Upload MeshLab Portable uses: actions/upload-artifact@v3 with: name: meshlab_macos_portable${{steps.envs.outputs.artifact_suffix}} path: install/MeshLab*.app - name: Upload DMG uses: actions/upload-artifact@v3 with: name: meshlab_macos_dmg${{steps.envs.outputs.artifact_suffix}} path: install/MeshLab*.dmg