Skip to content

Commit 8233c43

Browse files
committed
another attempt at docker on mac runners
1 parent 1f0ec85 commit 8233c43

File tree

1 file changed

+10
-45
lines changed

1 file changed

+10
-45
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ jobs:
5252
5353
macos:
5454
runs-on: macos-latest
55+
# Note: Docker does not work on Apple Silicon (macos-latest) due to lack of nested virtualization.
56+
# If Docker is needed, consider using macos-13 (Intel) or Linux runners.
5557

5658
steps:
5759
- uses: actions/checkout@v4
@@ -80,69 +82,32 @@ jobs:
8082
chmod +x scripts/build.sh scripts/test.sh scripts/start-influxdb.sh scripts/stop-influxdb.sh
8183
./scripts/build.sh Release
8284
83-
- name: Install Docker (try Colima)
85+
- name: Set up Docker on macOS
8486
id: docker-setup
8587
continue-on-error: true
86-
run: |
87-
echo "docker_available=false" >> $GITHUB_OUTPUT
88-
echo "Attempting to set up Docker via Colima..."
89-
# Install Docker CLI and Colima (headless Docker for macOS)
90-
brew install docker colima docker-compose || true
91-
92-
# Try to start Colima (may fail on GitHub Actions runners)
93-
if colima start > /dev/null 2>&1; then
94-
# Wait for Docker to be ready
95-
timeout=60
96-
elapsed=0
97-
docker_ready=false
98-
while [ $elapsed -lt $timeout ]; do
99-
if docker info > /dev/null 2>&1; then
100-
echo "Docker is ready!"
101-
docker_ready=true
102-
break
103-
fi
104-
sleep 2
105-
elapsed=$((elapsed + 2))
106-
done
107-
108-
if [ "$docker_ready" = "true" ] || docker info > /dev/null 2>&1; then
109-
echo "docker_available=true" >> $GITHUB_OUTPUT
110-
else
111-
echo "Docker installed but not responding"
112-
echo "docker_available=false" >> $GITHUB_OUTPUT
113-
fi
114-
else
115-
echo "Colima failed to start (known issue on GitHub Actions macOS runners)"
116-
echo "docker_available=false" >> $GITHUB_OUTPUT
117-
fi
88+
uses: douglascamata/setup-docker-macos-action@v1
11889

11990
- name: Start InfluxDB
120-
if: steps.docker-setup.outputs.docker_available == 'true'
91+
if: steps.docker-setup.outcome == 'success'
12192
run: |
12293
./scripts/start-influxdb.sh
12394
12495
- name: Run tests
125-
if: steps.docker-setup.outputs.docker_available == 'true'
96+
if: steps.docker-setup.outcome == 'success'
12697
run: |
12798
./scripts/test.sh
12899
129100
- name: Skip integration tests (Docker unavailable)
130-
if: steps.docker-setup.outputs.docker_available != 'true'
101+
if: steps.docker-setup.outcome != 'success'
131102
run: |
132-
echo "⚠️ Docker/Colima unavailable on macOS runner - skipping integration tests"
103+
echo "⚠️ Docker unavailable on macOS runner - skipping integration tests"
133104
echo "Build completed successfully, but integration tests were skipped."
134-
echo "This is a known limitation of Docker on macOS GitHub Actions runners."
105+
echo "This is a known limitation of Docker on macOS GitHub Actions runners (Apple Silicon)."
135106
136107
- name: Stop InfluxDB
137-
if: always() && steps.docker-setup.outputs.docker_available == 'true'
108+
if: always() && steps.docker-setup.outcome == 'success'
138109
run: |
139110
./scripts/stop-influxdb.sh || true
140-
141-
- name: Stop Colima
142-
if: always()
143-
run: |
144-
colima stop || true
145-
colima delete -f || true
146111
147112
windows:
148113
runs-on: windows-latest

0 commit comments

Comments
 (0)