Skip to content

Test build mac

Test build mac #732

Workflow file for this run

name: Electron CD Mac
on:
push:
tags:
- '*'
branches:
- 'test-build'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [20.11]
python-version: [3.8]
os: [macOS-12]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Brew Packages
run: |
# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install cairo
brew install zlib
- name: Set up Node ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install Python dependencies
run: |
python3 --version
python3 -m pip install --upgrade pip
pip3 install -r requirements.txt --no-binary=lxml
- name: Checkout Beamify
uses: actions/checkout@v3
with:
repository: flux3dp/beamify
ref: 2.0.5
token: ${{ secrets.REPO_TOKEN }}
path: .github/actions/beamify
- name: Install Beamify
run: |
cd .github/actions/beamify/python
# FIXME: Failed to install deps only on github action, use || operator temporary
python3 setup.py install --verbose || echo "Failed to install beamify"
- name: Install Fluxsvg
uses: flux3dp/fluxsvg@2.7.7
- name: Checkout FluxClient
uses: actions/checkout@v3
with:
repository: flux3dp/fluxclient-dev
ref: 2.8.5
token: ${{ secrets.REPO_TOKEN }}
path: .github/actions/fluxclient
- name: Install FluxClient
run: |
cd .github/actions/fluxclient
# FIXME: Failed to install deps only on github action, use || operator temporary
python3 setup.py install --verbose || echo "Failed to install fluxclient"
- name: Build Flux Api
uses: flux3dp/fluxghost@2.3.3
env:
LC_ALL: en_US.UTF-8
LC_CTYPE: en_US.UTF-8
- name: Checkout Beam Studio Core
uses: actions/checkout@v3
with:
repository: flux3dp/beam-studio-core
token: ${{ secrets.REPO_TOKEN }}
path: .github/actions/beam-studio-core
ref: fix/promark-postPresetChange
- name: Copy Beam Studio Core
run: |
cp -R .github/actions/beam-studio-core ../beam-studio-core
- name: Create Apple Certs
uses: apple-actions/import-codesign-certs@v2
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
# It is said codesign --deep is not a good practice, but it is the only way to sign Swiftray successfully
# https://developer.apple.com/forums/thread/129980
- name: Build Beam Studio
run: |
mkdir backend
yarn install
yarn build
cp -R $HOME/flux_api_swap backend/flux_api
cp -R lib/monitorexe-osx backend/monitorexe-osx
./backend/flux_api/flux_api --test --without_pcl
curl https://swiftray-daemon.s3.ap-northeast-1.amazonaws.com/mac/swiftray-daemon.zip --output swiftray.zip
mkdir swiftray
tar -xf swiftray.zip -C ./swiftray
mv ./swiftray/Swiftray.app backend
rm ./swiftray.zip
find ./backend/Swiftray.app -name "*.txt" -delete
find ./backend/Swiftray.app -name "*.gcode" -delete
cp -R util/mac utils
sudo bash ./build/clearup-develop-files.sh
echo "Signing *.so files..."
find ./backend -name "*.so" | while read f ; do
codesign --force --verbose -s "Developer ID Application: FLUX TECHNOLOGY CORP. (4Y92JWKV94)" $f; done
echo "Signing Swiftray.app..."
codesign --deep --force --verbose -s "Developer ID Application: FLUX TECHNOLOGY CORP. (4Y92JWKV94)" ./backend/Swiftray.app
chmod -R 777 node_modules/font-scanner
yarn dist --publish always
env:
PUBLISH_BUCKET: beamstudio
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
PUBLISH_PATH: ""
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID: ${{ secrets.APPLEID_DEAN }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLEIDPASS_DEAN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
# - name: Cleanup artifacts
# run: |
# mkdir artifacts
# mv dist/*.dmg artifacts
# - name: Upload artifacts
# uses: actions/upload-artifact@v1
# with:
# name: ${{matrix.os}}
# path: artifacts