Skip to content

Commit 4ff362c

Browse files
Fix the macos runs, add remaining parts of matrix
1 parent e5301b3 commit 4ff362c

File tree

2 files changed

+57
-13
lines changed

2 files changed

+57
-13
lines changed

.github/workflows/install-matrix.yaml

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@ jobs:
2323
run: |
2424
uvx open-edison --help
2525
26+
uvx-ubuntu:
27+
name: direct uvx (Ubuntu)
28+
runs-on: ubuntu-24.04
29+
steps:
30+
- name: Checkout
31+
uses: actions/checkout@v4
32+
- name: Setup Open Edison
33+
uses: ./.github/actions/setup
34+
- name: direct uvx smoke (PyPI)
35+
run: |
36+
uvx open-edison --help
37+
2638
curl-installer-ubuntu:
2739
name: curl|bash installer (Ubuntu)
2840
runs-on: ubuntu-24.04
@@ -75,6 +87,37 @@ jobs:
7587
run: |
7688
if [ -f server.pid ]; then kill $(cat server.pid) || true; fi
7789
90+
clone-make-run-macos:
91+
name: clone & make run (macOS)
92+
runs-on: macos-14
93+
steps:
94+
- name: Checkout
95+
uses: actions/checkout@v4
96+
- name: Setup Open Edison
97+
uses: ./.github/actions/setup
98+
- name: Setup Node
99+
uses: actions/setup-node@v4
100+
with:
101+
node-version: '20'
102+
cache: 'npm'
103+
cache-dependency-path: frontend/package-lock.json
104+
- name: make setup
105+
run: make setup
106+
- name: Start server
107+
run: |
108+
set -euxo pipefail
109+
make run &
110+
echo $! > server.pid
111+
for i in {1..60}; do
112+
if curl -sf http://localhost:3001/health >/dev/null; then
113+
echo "server healthy"; break; fi; sleep 1; done
114+
- name: Health check
115+
run: curl -sf http://localhost:3001/health | tee /dev/stderr
116+
- name: Stop server
117+
if: always()
118+
run: |
119+
if [ -f server.pid ]; then kill $(cat server.pid) || true; fi
120+
78121
docker-run-ubuntu:
79122
name: clone & docker_run (Ubuntu)
80123
runs-on: ubuntu-24.04
@@ -96,9 +139,11 @@ jobs:
96139
docker rm -f edison-ci || true
97140
98141
docker-run-macos:
99-
name: clone & docker_run (macOS, experimental)
100-
runs-on: macos-14
101-
continue-on-error: true
142+
name: clone & docker_run (macOS, self-hosted) [DISABLED]
143+
# Disabled by default: GitHub-hosted macOS runners cannot run Docker due to lack of nested virtualization.
144+
# See: https://github.com/marketplace/actions/setup-docker-on-macos
145+
if: ${{ false }}
146+
runs-on: [self-hosted, macos]
102147
steps:
103148
- name: Checkout
104149
uses: actions/checkout@v4
@@ -111,11 +156,10 @@ jobs:
111156
run: docker build -t open-edison:ci .
112157
- name: Run container
113158
run: |
114-
docker run -d --name edison-ci -e OPEN_EDISON_CONFIG_DIR=/app -p 3001:3001 -v ${{ github.workspace }}/config.json:/app/config.json open-edison:ci || true
159+
docker run -d --name edison-ci -e OPEN_EDISON_CONFIG_DIR=/app -p 3001:3001 -v ${{ github.workspace }}/config.json:/app/config.json open-edison:ci
115160
for i in {1..60}; do if curl -sf http://localhost:3001/health >/dev/null; then echo ok; break; fi; sleep 1; done
116161
- name: Health check
117-
run: |
118-
curl -sf http://localhost:3001/health | tee /dev/stderr || true
162+
run: curl -sf http://localhost:3001/health | tee /dev/stderr
119163
- name: Cleanup
120164
if: always()
121165
run: |

docs/testing_status.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ Notes:
1919

2020
High-level summary of automation coverage for each install path and platform.
2121

22-
| Install method | macOS | Linux (debian-based) | Windows |
23-
|----------------------|------------- |----------------------|-------------|
24-
| direct uvx | CI | CI | Manual only |
25-
| curl pipe bash | CI | CI | None |
26-
| clone & make run | CI | CI | None |
27-
| clone & docker_run | Experimental CI | CI | Manual only |
22+
| Install method | macOS | Linux (debian-based) | Windows |
23+
|----------------------|----------------------------------------|----------------------|-------------|
24+
| direct uvx | CI | CI | Manual only |
25+
| curl pipe bash | CI | CI | None |
26+
| clone & make run | CI | CI | None |
27+
| clone & docker_run | CI (No nested virtualization possible) | CI | Manual only |
2828

2929
Notes:
3030

3131
- macOS has CI coverage for the "clone & make run" path via GitHub Actions runners.
3232
- Linux has CI coverage for the "direct uvx" path (Ubuntu 22.04, 24.04 matrix) via package build + `uvx ... --help` smoke.
3333
- curl|bash installer runs as a smoke test on macOS and Ubuntu.
34-
- Docker run is experimental on macOS due to nested/virtualized Docker constraints; Ubuntu uses native Docker.
34+
- Docker on GitHub-hosted macOS runners is not supported due to virtualization limitations; job is disabled by default. Ubuntu uses native Docker on hosted runners. See `setup-docker-on-macos` action notes [link](https://github.com/marketplace/actions/setup-docker-on-macos).
3535
- "Make target" indicates a reproducible local target exists in the `Makefile` (e.g., `make install_curl_test`, `make run`, `make docker_run`).

0 commit comments

Comments
 (0)