Skip to content

Commit 8e128da

Browse files
committed
ci: install FVM from the canonical release repository
The shared Flutter setup action used fvm.app's installer, which still hardcodes the legacy leoafarias/fvm repository. On arm64 that redirect returned HTTP 503 repeatedly and prevented integration jobs from reaching any build or test step. Download the pinned 4.1.2 archive directly from conceptadev/fvm, select x64 or arm64 from uname, retry transient release-asset failures, and validate the installed binary. This matches the direct installer already used by the App Store workflow. Refs #2669
1 parent b8f9ba3 commit 8e128da

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

.github/actions/flutter-setup/action.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,23 @@ runs:
5151
- name: Install FVM
5252
shell: bash
5353
run: |
54-
curl -fsSL https://fvm.app/install.sh | bash -s -- 4.1.2
54+
case "$(uname -m)" in
55+
x86_64) fvm_arch=x64 ;;
56+
aarch64|arm64) fvm_arch=arm64 ;;
57+
*) echo "Unsupported FVM architecture: $(uname -m)" >&2; exit 1 ;;
58+
esac
59+
archive="$RUNNER_TEMP/fvm-4.1.2-linux-${fvm_arch}.tar.gz"
60+
curl --retry 5 --retry-all-errors -fL \
61+
"https://github.com/conceptadev/fvm/releases/download/4.1.2/fvm-4.1.2-linux-${fvm_arch}.tar.gz" \
62+
-o "$archive"
63+
mkdir -p "$HOME/fvm/bin"
64+
# Extract the whole tree: the `fvm` launcher execs `src/dart` relative
65+
# to its own directory, so unpacking the launcher alone yields
66+
# `exec: .../src/dart: not found` on every fvm invocation.
67+
tar -xzf "$archive" -C "$HOME/fvm/bin" --strip-components=1
68+
chmod +x "$HOME/fvm/bin/fvm" "$HOME/fvm/bin/src/dart"
69+
test -x "$HOME/fvm/bin/fvm"
70+
"$HOME/fvm/bin/fvm" --version
5571
echo "$HOME/fvm/bin" >> $GITHUB_PATH
5672
5773
- name: Check Flutter version

0 commit comments

Comments
 (0)