Allow arm64 via git#403
Open
CarlosNihelton wants to merge 4 commits into
Open
Conversation
There are no JSON manifests for Windows on ARM64, but they've reached stable support, including availability of pre-built binaries. Thus we should fallback to git-clone if the particular combination of OS, architecture, channel and version is not found.
We accept `flutter-version: 3.10.x` for the latest 'stable' version in the `3.10` series. If we reach the git-checkout part we must have an actual REF in there.
Author
|
Here's the CI modified by the proposed patches running on my fork: https://github.com/CarlosNihelton/flutter-action/pull/1/checks |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Flutter 3.44 was recently announced with stable support for Windows on ARM64 hosts, meaning it's possible to compile native applications for WoA on such hosts, and there are pre-built binaries for the flutter tools and SDK available. Thus we don't have to be on the master channel to use Flutter on Windows on ARM64. Yet, as reported in issues like #345 , this action always fails to set up Flutter on such devices because the JSON manifests used to compose the URLs to the bundled SDK releases from the Flutter archive are not available for Windows and Linux on ARM64.
With this PR I propose to fallback to Git when SDK releases are not found in the JSON manifests. That's a pessimisation for the unhappy paths (for which there is no SDK actually) as instead of failing fast we go to a Git clone first, yet I suspect we should optimize for the happy paths, as people relying on the action are likely already running the same Flutter versions locally.
I sprinkled some additional tests on those platforms, but I'd be happy to iterate on them with further guidance on the specific needs of the project.
Policy: Pull requests to enforce SHA pinning are not supported in this repository and will be closed. For context on why we do not use this feature, please refer to #393.
I hope this PR is welcome to maintainers and the broader community.