Skip to content

fix(image): read the Flutter version from the SDK manifest - #261

Merged
rldyourmnd merged 1 commit into
mainfrom
fix/flutter-version-probe
Aug 28, 2026
Merged

fix(image): read the Flutter version from the SDK manifest#261
rldyourmnd merged 1 commit into
mainfrom
fix/flutter-version-probe

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

The b14 build reached the Flutter step and failed:

cat: /home/runner/actions-runner/_work/_tool/flutter/stable-3.44.9-x64/flutter/version: No such file or directory

The plain version file older Flutter SDKs carried no longer exists. 3.x ships bin/cache/flutter.version.json:

{ "frameworkVersion": "3.44.9",
  "frameworkRevision": "6b182d2c7585eba26d4edce0f97630effd256c33", ... }

frameworkRevision is exactly the hash the Flutter release manifest publishes for this archive, so the file is a real identity check rather than a convenient string.

Verified against the archive, not assumed

I downloaded the 1.55 GB archive and inspected it before changing anything:

  • it does carry a top-level flutter/ directory, so the nested flutter/stable-<v>-x64/flutter/bin/flutter path the consumer's action probes was right;
  • flutter/bin/dart is present;
  • 225 files already exist under flutter/bin/cache/artifacts/ — the engine is precached in the archive, so neither the image build nor a job triggers a first-run download.

That last point was the reason for avoiding flutter --version in the first place, and it turns out the concern does not even arise for this archive. The manifest read stays anyway: it is offline, exact, and does not depend on first-run behaviour continuing to be cheap.

Note

The failed build cleaned up after itself — no builder or smoke instance was left on the member. The recipe fingerprint moves again with the provisioner change.

https://claude.ai/code/session_01HMPUfMTrzqwrcgDCFvjnFG

The build reached the Flutter step and failed:

  cat: .../flutter/stable-3.44.9-x64/flutter/version: No such file or directory

The plain `version` file older SDKs carried is gone. Flutter 3.x ships
bin/cache/flutter.version.json, whose frameworkVersion is 3.44.9 and whose
frameworkRevision matches the hash the release manifest publishes for that
archive.

Verified against the real archive rather than assumed: the tarball does carry a
top-level flutter/ directory, so the nested path was right, and it already
contains 225 engine artifact files under bin/cache/artifacts. The SDK therefore
needs no first-run download either at build time or in a job.

Claude-Session: https://claude.ai/code/session_01HMPUfMTrzqwrcgDCFvjnFG
@rldyourmnd
rldyourmnd merged commit b4465f1 into main Aug 28, 2026
10 checks passed
@rldyourmnd
rldyourmnd deleted the fix/flutter-version-probe branch August 28, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant