Skip to content

Comments

fix: macOS compatibility for copilot CLI install + FAQ on macOS runners#16970

Closed
Mossaka wants to merge 3 commits intomainfrom
fix/copilot-cli-macos-homedir
Closed

fix: macOS compatibility for copilot CLI install + FAQ on macOS runners#16970
Mossaka wants to merge 3 commits intomainfrom
fix/copilot-cli-macos-homedir

Conversation

@Mossaka
Copy link
Collaborator

@Mossaka Mossaka commented Feb 19, 2026

Summary

  • Fix install_copilot_cli.sh: use $HOME instead of hardcoded /home/runner (macOS uses /Users/runner)
  • Replace hardcoded runner:runner with $(whoami) for cross-platform chown
  • Add FAQ entry explaining why agentic workflows don't support macOS runners

Context

GHA macOS ARM64 runners are VMs (Apple M1 (Virtual)) without nested virtualization. We tested Docker Desktop (DMG installer, brew cask), colima (vz, qemu, auto-detect), and Apple's container tool — none can provide Docker on these runners. The FAQ documents this limitation.

Changes

  • actions/setup/sh/install_copilot_cli.sh — portable $HOME and $(whoami)
  • docs/src/content/docs/reference/faq.md — new "Platform Support" section

Test plan

  • Confirmed $HOME fix works on macOS runner (Copilot CLI installs successfully)
  • No impact on Linux runners ($HOME = /home/runner, $(whoami) = runner)

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings February 19, 2026 23:27
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes cross-platform compatibility issues in the Copilot CLI installation script by replacing hardcoded Linux-specific paths with environment variables. The issue was preventing the "Smoke macOS ARM64" workflow from succeeding, as macOS runners use /Users/runner instead of /home/runner for the home directory.

Changes:

  • Replace hardcoded /home/runner/.copilot with ${HOME}/.copilot for cross-platform home directory support
  • Replace hardcoded runner:runner ownership with $(whoami) for dynamic user detection

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Mossaka Mossaka added the smoke label Feb 19, 2026
@github-actions
Copy link
Contributor

🧪 Smoke Project is now testing project operations...

@github-actions
Copy link
Contributor

🧪 Smoke Temporary ID is now testing temporary ID functionality...

@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions
Copy link
Contributor

📰 BREAKING: Smoke macOS ARM64 is now investigating this pull request. Sources say the story is developing...

@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Contributor

📰 DEVELOPING STORY: Smoke macOS ARM64 reports failed. Our correspondents are investigating the incident...

@github-actions
Copy link
Contributor

Smoke Project completed successfully. All project operations validated.

@pelikhan
Copy link
Contributor

testing required after push

@github-actions
Copy link
Contributor

Smoke test §22204680139 results for @Mossaka:

Test
GitHub MCP
Safe Inputs GH CLI
Serena MCP
Playwright
File Write + Bash
Discussion Interaction
Build gh-aw
Discussion Creation
Haiku Dispatch
PR Review

Status: ⚠️ PARTIAL (Serena MCP not available)

📰 BREAKING: Report filed by Smoke Copilot for issue #16970

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simple, correct fix for cross-platform compatibility. The two changes (${HOME} and $(whoami)) are minimal and appropriate.

📰 BREAKING: Report filed by Smoke Copilot for issue #16970

@github-actions
Copy link
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions
Copy link
Contributor

Smoke Test Results - Run §22204680072

Overall: ✅ PASS

Test Status
1. GitHub MCP
2. Safe Inputs GH CLI
3. Serena MCP
4. Make Build
5. Playwright
6. Tavily Web Search
7. File Writing
8. Bash Tool
9. Discussion Interaction
10. Agentic Workflows MCP
11. Update PR
12. PR Review Comments
13. Submit PR Review
14. Resolve Review Thread
15. Add Reviewer
16. Push to PR Branch
17. Close PR ⚠️ Skipped

💥 [THE END] — Illustrated by Smoke Claude for issue #16970

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💥 Automated smoke test review - all systems nominal!

💥 [THE END] — Illustrated by Smoke Claude for issue #16970

@github-actions
Copy link
Contributor

Smoke test summary
PRs: "fix: remove leftover smoke test file"; "Bundle WASM release assets into versioned archive"
GitHub MCP ✅
Serena MCP ✅
Playwright ✅
File write + cat ✅
Build (make build) ✅
Overall: PASS

🔮 The oracle has spoken through Smoke Codex for issue #16970

@github-actions
Copy link
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions
Copy link
Contributor

Smoke Test Results - Run §22207432521 | PARTIAL

Core Tests (1-10):
✅ GitHub MCP | ✅ safeinputs-gh | ✅ Serena MCP | ✅ Make build | ✅ Playwright | ✅ Tavily | ✅ File write | ✅ Bash | ✅ Discussion | ✅ AW Status

PR Review Tests (11-17):
✅ Update PR | ✅ Review comments | ✅ Submit review | ✅ Resolve thread | ✅ Add reviewer | ✅ Push branch | ⚠️ Close PR (skipped)

💥 [THE END] — Illustrated by Smoke Claude for issue #16970

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💥 Automated smoke test review - all systems nominal! The changeset files look good and the fix for macOS home directory compatibility is well-documented.

💥 [THE END] — Illustrated by Smoke Claude for issue #16970

On macOS runners, the home directory is /Users/runner, not /home/runner.
The hardcoded path causes `mkdir: /home/runner: Operation not supported`
on macOS. Also replace hardcoded `runner:runner` with `$(whoami)` for
cross-platform compatibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Mossaka Mossaka force-pushed the fix/copilot-cli-macos-homedir branch from d45defe to 1dccd52 Compare February 20, 2026 01:38
Docker is unavailable on GHA macOS ARM64 runners (VMs without nested
virtualization). Redesign the smoke test to run the agent directly on
the host:

- Remove network firewall (sandbox.agent: false, strict: false)
- Remove Docker-dependent MCP tools (playwright, serena, github)
- Skip Docker image downloads on macOS
- Skip MCP Gateway on macOS (requires Docker)
- Add macOS-specific MCP config with HTTP-only servers (safe-inputs/outputs)
- Fix hardcoded /home/runner paths to use $HOME for macOS compatibility
- Update test prompt to focus on non-Docker tests (bash, web-fetch,
  safe-inputs, safe-outputs, Go build, discussion/issue/PR interactions)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Mossaka Mossaka changed the title fix: use $HOME instead of hardcoded /home/runner in copilot CLI install fix: macOS ARM64 smoke test - run agent directly without Docker Feb 20, 2026
@Mossaka Mossaka added the smoke label Feb 20, 2026
@github-actions
Copy link
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions
Copy link
Contributor

github-actions bot commented Feb 20, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Contributor

📰 BREAKING: Smoke macOS ARM64 is now investigating this pull request. Sources say the story is developing...

@github-actions
Copy link
Contributor

🧪 Smoke Project is now testing project operations...

@github-actions
Copy link
Contributor

github-actions bot commented Feb 20, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Contributor

🧪 Smoke Temporary ID is now testing temporary ID functionality...

@github-actions
Copy link
Contributor

📰 DEVELOPING STORY: Smoke macOS ARM64 reports failed. Our correspondents are investigating the incident...

@github-actions
Copy link
Contributor

Smoke Project completed successfully. All project operations validated.

@github-actions
Copy link
Contributor

Smoke test results:
PRs: Fix footer spacing in Playground editor; [docs] docs: debloat templating.md (-72 lines, -21.6%)
GitHub MCP: ✅
Serena MCP: ✅
Playwright: ✅
File write: ✅
Bash cat: ✅
Build: ✅
Overall: PASS

🔮 The oracle has spoken through Smoke Codex for issue #16970

@github-actions
Copy link
Contributor

Smoke test results for PR #16970 (@Mossaka):

Test
GitHub MCP
Safe Inputs GH CLI
Serena MCP
Playwright
File Write + Bash
Discussion comment
Build gh-aw
Discussion create
Workflow dispatch
PR Review

Overall: ⚠️ PARTIAL PASS (10/11 — Serena MCP not available)

📰 BREAKING: Report filed by Smoke Copilot for issue #16970

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR correctly redesigns the macOS ARM64 smoke test to run the Copilot CLI agent directly on the host without Docker. The key changes (disabling firewall sandbox, removing containerized MCP servers, using localhost instead of host.docker.internal) are all appropriate for GHA macOS runners that lack nested virtualization. Left two inline notes on sandbox.agent: false and strict: false for documentation clarity.

📰 BREAKING: Report filed by Smoke Copilot for issue #16970

sandbox:
mcp:
container: "ghcr.io/github/gh-aw-mcpg"
agent: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting agent: false disables the Docker-based firewall and MCP gateway containers. This is the right call for macOS GHA runners where Docker is unavailable, but worth documenting explicitly that the agent runs without network isolation on these runners.

mcp:
container: "ghcr.io/github/gh-aw-mcpg"
agent: false
strict: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

strict: false relaxes validation (action pinning, network config, safe-outputs enforcement). Since this is a macOS-specific smoke test without Docker, this makes sense — just ensuring the constraint relaxation is intentional and documented.

@github-actions
Copy link
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

Smoke test complete: 10/11 tests passed. Serena MCP server not available in this workflow context. All other tests (GitHub MCP, gh CLI, Playwright, file write, bash, discussion comment, build, discussion create, haiku dispatch, PR review) passed successfully.

@github-actions
Copy link
Contributor

Smoke Test Results - Claude - Run 22208338012

Core Tests: ✅✅✅✅✅✅✅✅✅✅ (10/10 passed)

  1. ✅ GitHub MCP | 2. ✅ Safe Inputs GH CLI | 3. ✅ Serena MCP | 4. ✅ Make Build
  2. ✅ Playwright | 6. ✅ Tavily Search | 7. ✅ File Writing | 8. ✅ Bash Tool
  3. ✅ Discussion Interaction | 10. ✅ Agentic Workflows MCP

PR Review Tests (#16970):
11. ✅ Update PR | 12. ✅ Review Comments | 13. ✅ Submit Review | 14. ✅ Resolve Thread
15. ✅ Add Reviewer | 16. ⚠️ Push Branch (skipped) | 17. ⚠️ Close PR (skipped)

Overall Status: PARTIAL (all non-skipped tests passed)

💥 [THE END] — Illustrated by Smoke Claude for issue #16970

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💥 Automated smoke test review - all systems nominal! The ${HOME} and $(whoami) fixes look correct and improve cross-platform compatibility. Run §22208338012

💥 [THE END] — Illustrated by Smoke Claude for issue #16970

@pelikhan pelikhan closed this Feb 20, 2026
@Mossaka Mossaka changed the title fix: macOS ARM64 smoke test - run agent directly without Docker fix: macOS compatibility for copilot CLI install + FAQ on macOS runners Feb 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants