xcodes runtimes install returns immediately with 'Finished' when run without TTY (SSH non-interactive)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo xcodes runtimes install "iOS 18.1" tramite SSH senza una TTY, quindi traccia il percorso del comando runtimes install nel repository. Confronta il suo comportamento con l’allocazione forzata di una TTY e considera completato il lavoro se il download termina senza una TTY oppure viene restituito un errore chiaro diverso da zero invece di Finished con codice di uscita 0.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
When running xcodes runtimes install via SSH without a TTY (e.g., through Ansible or ssh user@host 'command'), the command returns immediately with "Finished" output and exit code 0, even though the runtime download has not started or completed.
Steps to Reproduce
-
SSH into a macOS host without allocating a TTY:
ssh user@host '/opt/homebrew/bin/xcodes runtimes install "iOS 18.1"' -
Observe that the command returns immediately with:
Finished -
Verify that no runtime was actually installed:
xcrun simctl list runtimesShows no iOS 18.1 runtime.
Expected Behavior
The command should block and download the runtime, showing progress, even when run without a TTY. Or, if TTY is required, it should fail with a clear error message rather than silently claiming success.
Actual Behavior
- Returns immediately (< 2 seconds)
- Outputs "Finished"
- Exit code: 0
- No runtime is downloaded/installed
Workaround
Force TTY allocation when running via SSH:
ssh -tt user@host '/opt/homebrew/bin/xcodes runtimes install "iOS 18.1"'
Or in Ansible:
vars:
ansible_ssh_common_args: "-o RequestTTY=force"
Environment
- xcodes version: 1.6.2
- macOS version: 26.1
- Xcode version: Xcode 16.1
- Installation method: Homebrew
Additional Context
This issue makes it difficult to automate runtime installation via configuration management tools like Ansible, which don't allocate TTYs by default. The command should either work without a TTY or fail clearly instead of silently succeeding without doing anything.
- Lingua principale
- Swift
- Stelle
- 4.8k
- Fork
- 182
- Merge medio
- 2g 12h
- PR unite (30g)
- 1
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di XcodesOrg/xcodes
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Bad CPU type in executable Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
Tutte le issue di XcodesOrg/xcodes
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
googleapis/google-cloud-swift#1151 ·
-
`--app` focus through the daemon can pick an off-screen window and refuse with `axElementNotFound` Apertaclawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P1
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
code health
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
apple/coreai-models#288 ·
-
task
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
vsanthanam/JBird#429 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100