The 'docker run --rm' strategy (commit065df61) requires Docker to be available on the self-hosted runners. Jobs never leave 'queued'/'waiting' because the runner cannot execute Docker commands. Revert to the proven inline SDK setup fromffd37f3: - Flutter SDK: download tarball with skip-if-already-installed - Java 17: apt install with skip-if-already-installed - Android SDK: cmdline-tools download with skip-if-already-installed - Every step exports PATH=$PWD/flutter/bin:$PATH (act does not persist env) This approach was verified working on run #42 (commit38279ed) - all 4 stages passed: lint, test, build-android, build-ios.