From 8757bd20352395b3d96f7b644c85e0b0584d67b8 Mon Sep 17 00:00:00 2001 From: David Scott Date: Thu, 22 Jan 2026 16:34:24 +0000 Subject: [PATCH] avoid a startup hang when Rosetta needs to be installed By default - MacOS has no Rosetta installed - Docker Desktop uses virtualization.framework with Rosetta enabled - on first start, Docker Desktop will trigger the Rosetta install flow which requires manual input (a button click) Avoid this hang by disabling Rosetta in Docker Desktop. Signed-off-by: David Scott --- start/action.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/start/action.yml b/start/action.yml index ef6b13a..3869cae 100644 --- a/start/action.yml +++ b/start/action.yml @@ -54,6 +54,27 @@ runs: /usr/bin/hdiutil detach ./mount/desktop echo "dmg unmounted" + - name: Disable Rosetta in Docker Desktop settings + if: runner.os == 'macOS' + shell: bash + run: | + SETTINGS_FILE="$HOME/Library/Group Containers/group.com.docker/settings-store.json" + SETTINGS_DIR=$(dirname "$SETTINGS_FILE") + + # Ensure the directory exists + mkdir -p "$SETTINGS_DIR" + + if [ -f "$SETTINGS_FILE" ]; then + # Use jq to set UseVirtualizationFrameworkRosetta to false + jq '.UseVirtualizationFrameworkRosetta = false' "$SETTINGS_FILE" > "$SETTINGS_FILE.tmp" + mv "$SETTINGS_FILE.tmp" "$SETTINGS_FILE" + echo "Disabled Rosetta in Docker Desktop settings" + else + # Create new settings file with the key set to false + echo '{"UseVirtualizationFrameworkRosetta": false}' > "$SETTINGS_FILE" + echo "Created settings file with Rosetta disabled" + fi + - name: Install macOS Docker Desktop app if: runner.os == 'macOS' shell: bash