name: Build Mac Intel on: push: branches: - main jobs: build_osx_x86_64: name: Build Mac Intel runs-on: macos-12 steps: - uses: actions/checkout@v3 - name: Install tools run: | brew install cmake git gettext - run: mkdir -p ${{ github.workspace }}/deps/build_x86_64 - run: mkdir -p ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64 # - name: build deps # id: cache_deps # uses: actions/cache@v3 # env: # cache-name: ${{ runner.os }}-cache-orcaslicer_deps_x64 # with: # path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep # key: build-${{ env.cache-name }} # - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }} # name: build deps # working-directory: ${{ github.workspace }} # continue-on-error: true # run: ./build_release_macos.sh -d -a x86_64 - name: Download and extract deps working-directory: ${{ github.workspace }} run: | curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz tar -zxf OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz -C ${{ github.workspace }}/deps/build_x86_64 chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64 ls -l ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64 rm OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz - name: Build studio working-directory: ${{ github.workspace }} run: ./build_release_macos.sh -s -n -a x86_64 - name: Sign app working-directory: ${{ github.workspace }} env: BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} CERTIFICATE_ID: ${{ secrets.MACOS_CERTIFICATE_ID }} run: | CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH security set-keychain-settings -lut 21600 $KEYCHAIN_PATH security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH security list-keychain -d user -s $KEYCHAIN_PATH security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer.app - name: pack app working-directory: ${{ github.workspace }} run: | export ver=$(grep '^#define SoftFever_VERSION' ./build_x86_64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3) ver="_V${ver//\"}" cd ${{ github.workspace }}/build_x86_64/OrcaSlicer zip -FSrq OrcaSlicer${ver}_nightly_Mac_Intel_signed.zip OrcaSlicer.app # (wip: staple failed, error 65) # - name: Notarize the app # run: | # xcrun notarytool store-credentials "notarytool-profile" --apple-id "${{ secrets.APPLE_DEV_ACCOUNT }}" --team-id "${{ secrets.TEAM_ID }}" --password "${{ secrets.APP_PWD }}" # ditto -c -k --keepParent "OrcaSlicer.app" "OrcaSlicer.zip" # xcrun notarytool submit "OrcaSlicer.zip" --keychain-profile "notarytool-profile" --wait # xcrun stapler staple OrcaSlicer.app # zip -FSrq OrcaSlicer_Mac_notarized.zip OrcaSlicer.app - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: OrcaSlicer_Mac_Intel path: ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer*.zip