orcaslicer/.github/workflows/build_mac_x64.yml

96 lines
4 KiB
YAML
Raw Normal View History

2023-03-12 03:14:56 +00:00
name: Build Mac Intel
2023-01-12 14:55:50 +00:00
2023-02-25 11:33:55 +00:00
on:
push:
branches:
2023-03-19 10:20:24 +00:00
- main
2023-04-26 12:32:09 +00:00
pull_request:
branches:
- main
2023-02-25 11:33:55 +00:00
2023-01-12 14:55:50 +00:00
jobs:
2023-03-16 12:50:23 +00:00
build_osx_x86_64:
2023-03-12 03:14:56 +00:00
name: Build Mac Intel
2023-03-16 12:50:23 +00:00
runs-on: macos-12
2023-01-12 14:55:50 +00:00
steps:
- uses: actions/checkout@v3
- name: Install tools
run: |
brew install cmake git gettext
2023-03-12 02:02:38 +00:00
- run: mkdir -p ${{ github.workspace }}/deps/build_x86_64
- run: mkdir -p ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
2023-01-12 14:55:50 +00:00
# - name: build deps
# id: cache_deps
# uses: actions/cache@v3
# env:
2023-03-12 02:02:38 +00:00
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_x64
# with:
2023-03-10 11:26:01 +00:00
# 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
2023-01-12 14:55:50 +00:00
working-directory: ${{ github.workspace }}
run: |
2023-03-12 02:02:38 +00:00
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz
2023-03-16 00:48:24 +00:00
tar -zxf OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz -C ${{ github.workspace }}/deps/build_x86_64
2023-03-12 02:02:38 +00:00
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
2023-01-12 14:55:50 +00:00
- name: Build studio
working-directory: ${{ github.workspace }}
run: ./build_release_macos.sh -s -n -a x86_64
2023-03-15 15:51:42 +00:00
- 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 }}
2023-05-05 15:08:36 +00:00
if: github.event_name != 'pull_request'
2023-03-15 15:51:42 +00:00
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
2023-03-16 12:50:23 +00:00
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer.app
2023-03-15 15:51:42 +00:00
- name: pack app
working-directory: ${{ github.workspace }}
run: |
2023-03-15 17:29:29 +00:00
export ver=$(grep '^#define SoftFever_VERSION' ./build_x86_64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
2023-03-15 15:51:42 +00:00
ver="_V${ver//\"}"
2023-03-17 01:10:45 +00:00
cd ${{ github.workspace }}/build_x86_64/OrcaSlicer
2023-04-26 13:07:02 +00:00
zip -FSrq OrcaSlicer${ver}_Mac_Intel_signed.zip OrcaSlicer.app
2023-03-15 15:51:42 +00:00
# (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
2023-01-12 14:55:50 +00:00
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
2023-03-12 02:02:38 +00:00
name: OrcaSlicer_Mac_Intel
2023-03-17 01:10:45 +00:00
path: ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer*.zip