Skip to content

Commit 6fa155e

Browse files
committed
chore: try macos
1 parent d673b83 commit 6fa155e

2 files changed

Lines changed: 50 additions & 57 deletions

File tree

.github/workflows/artifact.yml

Lines changed: 36 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -80,49 +80,39 @@ jobs:
8080
name: dist-windows
8181
path: dist-windows.zip
8282

83-
# macos-tests:
84-
# runs-on: macos-latest
85-
# steps:
86-
# - name: Checkout
87-
# uses: actions/checkout@v2
88-
# with:
89-
# fetch-depth: 0
90-
# - name: Setup Python 3.14
91-
# uses: actions/setup-python@v2
92-
# with:
93-
# python-version: 3.14
94-
# - name: Install uv
95-
# uses: astral-sh/setup-uv@v7
96-
# with:
97-
# enable-cache: true
98-
# - name: Sync Python dependencies
99-
# run: uv sync --dev
100-
# - name: Setup OpenGL (macOS)
101-
# run: |
102-
# # macOS comes with OpenGL support built-in.
103-
# # Optionally install freeglut if your project requires it.
104-
# brew update
105-
106-
# brew install freeglut
107-
# brew install --cask xquartz
108-
# export DYLD_LIBRARY_PATH="$(brew --prefix freeglut)/lib:$DYLD_LIBRARY_PATH"
109-
# sleep 2
110-
# export DISPLAY=:0
111-
# export LIBGL_ALWAYS_SOFTWARE=1
112-
# export SDL_VIDEODRIVER=dummy
113-
114-
# cd examples/all_white
115-
116-
# uv run beet
117-
118-
# cd ../..
119-
120-
121-
122-
# - name: Upload dist folder
123-
# run: tar -czvf dist-macos.tar.gz dist/
124-
# - name: Upload compressed dist folder
125-
# uses: actions/upload-artifact@v4
126-
# with:
127-
# name: dist-macos
128-
# path: dist-macos.tar.gz
83+
macos-tests:
84+
runs-on: macos-latest
85+
steps:
86+
- name: Checkout
87+
uses: actions/checkout@v2
88+
with:
89+
fetch-depth: 0
90+
- uses: actions/setup-java@v2
91+
with:
92+
distribution: 'temurin'
93+
java-version: '25'
94+
- name: Setup Python 3.14
95+
uses: actions/setup-python@v2
96+
with:
97+
python-version: 3.14
98+
- name: Install uv
99+
uses: astral-sh/setup-uv@v7
100+
with:
101+
enable-cache: true
102+
- name: Sync Python dependencies
103+
run: uv sync --dev
104+
- name: Setup OpenGL and Run Tests
105+
uses: edayot/model_resolver@master
106+
env:
107+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
108+
GIT_HASH: ${{ github.sha }}
109+
with:
110+
commands: |
111+
uv run beet
112+
- name: Upload dist folder
113+
run: tar -czvf dist-macos.tar.gz dist/
114+
- name: Upload compressed dist folder
115+
uses: actions/upload-artifact@v4
116+
with:
117+
name: dist-macos
118+
path: dist-macos.tar.gz

action.yml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,18 @@ runs:
4242
- name: Setup OpenGL (macOS)
4343
if: runner.os == 'macOS'
4444
run: |
45-
# macOS comes with OpenGL support built-in.
46-
# Optionally install freeglut if your project requires it.
4745
brew update
4846
brew install freeglut || echo "freeglut already installed"
49-
brew install --cask xquartz
50-
export DYLD_LIBRARY_PATH="$(brew --prefix freeglut)/lib:$DYLD_LIBRARY_PATH"
51-
open -a XQuartz
52-
sleep 2
53-
export DISPLAY=:0
54-
export LIBGL_ALWAYS_SOFTWARE=1
55-
47+
brew install --cask xquartz || echo "xquartz already installed"
48+
# Persist environment variables to subsequent steps via $GITHUB_ENV
49+
echo "DYLD_LIBRARY_PATH=$(brew --prefix freeglut)/lib:${DYLD_LIBRARY_PATH:-}" >> $GITHUB_ENV
50+
echo "DISPLAY=:0" >> $GITHUB_ENV
51+
echo "LIBGL_ALWAYS_SOFTWARE=1" >> $GITHUB_ENV
52+
# Add XQuartz binaries to PATH for subsequent steps
53+
echo "/opt/X11/bin" >> $GITHUB_PATH
54+
# Start XQuartz X server
55+
/opt/X11/bin/Xquartz :0 -screen 0 2560x1440x24 &
56+
sleep 5
5657
shell: bash
5758

5859
- name: Execute Commands (Linux)
@@ -77,6 +78,8 @@ runs:
7778
- name: Execute Commands (macOS)
7879
if: runner.os == 'macOS'
7980
run: |
80-
# OpenGL is natively supported on macOS; no virtual framebuffer needed.
81-
${{ inputs.commands }}
81+
echo "set -e" > /tmp/commands.sh
82+
echo "${{ inputs.commands }}" >> /tmp/commands.sh
83+
chmod +x /tmp/commands.sh
84+
bash /tmp/commands.sh
8285
shell: bash

0 commit comments

Comments
 (0)