Test build mac #732
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |