diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index 33b9970888..b099bbdf2e 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -49,7 +49,6 @@ concurrency: jobs: build_linux: - name: Build Linux strategy: fail-fast: false # Don't run scheduled builds on forks: @@ -60,13 +59,12 @@ jobs: build-deps-only: ${{ inputs.build-deps-only || false }} secrets: inherit build_all: - name: Build Non-Linux strategy: fail-fast: false matrix: include: - os: windows-latest - - os: macos-14 + - os: ${{ vars.SELF_HOSTED && 'orca-macos-arm64' || 'macos-14' }} arch: arm64 # Don't run scheduled builds on forks: if: ${{ !cancelled() && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }} diff --git a/.github/workflows/build_check_cache.yml b/.github/workflows/build_check_cache.yml index fee5a6e955..6ca09e1b66 100644 --- a/.github/workflows/build_check_cache.yml +++ b/.github/workflows/build_check_cache.yml @@ -33,7 +33,7 @@ jobs: - name: set outputs id: set_outputs env: - dep-folder-name: ${{ inputs.os != 'macos-14' && '/OrcaSlicer_dep' || '' }} + dep-folder-name: ${{ !contains(inputs.os, 'macos') && '/OrcaSlicer_dep' || '' }} output-cmd: ${{ inputs.os == 'windows-latest' && '$env:GITHUB_OUTPUT' || '"$GITHUB_OUTPUT"'}} run: | echo cache-key=${{ inputs.os }}-cache-orcaslicer_deps-build-${{ hashFiles('deps/**') }} >> ${{ env.output-cmd }} diff --git a/.github/workflows/build_deps.yml b/.github/workflows/build_deps.yml index 6cec66f24b..7756a52d7b 100644 --- a/.github/workflows/build_deps.yml +++ b/.github/workflows/build_deps.yml @@ -74,18 +74,17 @@ jobs: cd ${{ github.workspace }}/deps/build - name: Build on Mac ${{ inputs.arch }} - if: inputs.os == 'macos-14' + if: contains(inputs.os, 'macos') working-directory: ${{ github.workspace }} run: | - brew install automake texinfo libtool - brew list - brew uninstall --ignore-dependencies zstd - ./build_release_macos.sh -dx -a universal -t 10.15 -1 + if [ -z "${{ vars.SELF_HOSTED }}" ]; then + brew install automake texinfo libtool + fi + ./build_release_macos.sh -dx ${{ !vars.SELF_HOSTED && '-1' || '' }} -a universal -t 10.15 for arch in arm64 x86_64; do (cd "${{ github.workspace }}/deps/build/${arch}" && \ find . -mindepth 1 -maxdepth 1 ! -name 'OrcaSlicer_dep' -exec rm -rf {} +) done - brew install zstd - name: Apt-Install Dependencies @@ -104,7 +103,7 @@ jobs: # Upload Artifacts # - name: Upload Mac ${{ inputs.arch }} artifacts - # if: inputs.os == 'macos-14' + # if: contains(inputs.os, 'macos') # uses: actions/upload-artifact@v6 # with: # name: OrcaSlicer_dep_mac_${{ env.date }} diff --git a/.github/workflows/build_orca.yml b/.github/workflows/build_orca.yml index 2af2cac371..4a8528bf11 100644 --- a/.github/workflows/build_orca.yml +++ b/.github/workflows/build_orca.yml @@ -86,14 +86,16 @@ jobs: # Mac - name: Install tools mac - if: inputs.os == 'macos-14' + if: contains(inputs.os, 'macos') run: | - brew install libtool - brew list + if [ -z "${{ vars.SELF_HOSTED }}" ]; then + brew install libtool + brew list + fi mkdir -p ${{ github.workspace }}/deps/build - name: Free disk space - if: inputs.os == 'macos-14' + if: contains(inputs.os, 'macos') && !vars.SELF_HOSTED run: | df -hI /dev/disk3s1s1 sudo find /Applications -maxdepth 1 -type d -name "Xcode_*.app" ! -name "Xcode_15.4.app" -exec rm -rf {} + @@ -101,14 +103,14 @@ jobs: df -hI /dev/disk3s1s1 - name: Build slicer mac - if: inputs.os == 'macos-14' + if: contains(inputs.os, 'macos') working-directory: ${{ github.workspace }} run: | - ./build_release_macos.sh -s -n -x -a universal -t 10.15 -1 + ./build_release_macos.sh -s -n -x ${{ !vars.SELF_HOSTED && '-1' || '' }} -a universal -t 10.15 # Thanks to RaySajuuk, it's working now - name: Sign app and notary - if: github.repository == 'OrcaSlicer/OrcaSlicer' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/')) && inputs.os == 'macos-14' + if: github.repository == 'OrcaSlicer/OrcaSlicer' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/')) && contains(inputs.os, 'macos') working-directory: ${{ github.workspace }} env: BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} @@ -162,7 +164,7 @@ jobs: fi - name: Create DMG without notary - if: github.ref != 'refs/heads/main' && inputs.os == 'macos-14' + if: github.ref != 'refs/heads/main' && contains(inputs.os, 'macos') working-directory: ${{ github.workspace }} run: | mkdir -p ${{ github.workspace }}/build/universal/OrcaSlicer_dmg @@ -181,14 +183,14 @@ jobs: fi - name: Upload artifacts mac - if: inputs.os == 'macos-14' + if: contains(inputs.os, 'macos') uses: actions/upload-artifact@v6 with: name: OrcaSlicer_Mac_universal_${{ env.ver }} path: ${{ github.workspace }}/OrcaSlicer_Mac_universal_${{ env.ver }}.dmg - name: Upload OrcaSlicer_profile_validator DMG mac - if: inputs.os == 'macos-14' + if: contains(inputs.os, 'macos') uses: actions/upload-artifact@v6 with: name: OrcaSlicer_profile_validator_Mac_universal_DMG_${{ env.ver }} @@ -196,7 +198,7 @@ jobs: if-no-files-found: ignore - name: Deploy Mac release - if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main' && inputs.os == 'macos-14' + if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main' && contains(inputs.os, 'macos') uses: WebFreak001/deploy-nightly@v3.2.0 with: upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label} @@ -207,7 +209,7 @@ jobs: max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted - name: Deploy Mac OrcaSlicer_profile_validator DMG release - if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main' && inputs.os == 'macos-14' + if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main' && contains(inputs.os, 'macos') uses: WebFreak001/deploy-nightly@v3.2.0 with: upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label} diff --git a/deps/Boost/Boost.cmake b/deps/Boost/Boost.cmake index f3c23b77c7..a374004f97 100644 --- a/deps/Boost/Boost.cmake +++ b/deps/Boost/Boost.cmake @@ -18,6 +18,7 @@ orcaslicer_add_cmake_project(Boost -DBOOST_EXCLUDE_LIBRARIES:STRING=contract|fiber|numpy|stacktrace|wave|test -DBOOST_LOCALE_ENABLE_ICU:BOOL=OFF # do not link to libicu, breaks compatibility between distros -DBUILD_TESTING:BOOL=OFF + -DBOOST_IOSTREAMS_ENABLE_ZSTD:BOOL=OFF "${_context_abi_line}" "${_context_arch_line}" )