Skip to content

[ci] refactor: Cleanup tooling for handling arch build output <= Flutter v3.13.x#11399

Open
Gustl22 wants to merge 2 commits intoflutter:mainfrom
Gustl22:129807-cleanup-tooling-arch
Open

[ci] refactor: Cleanup tooling for handling arch build output <= Flutter v3.13.x#11399
Gustl22 wants to merge 2 commits intoflutter:mainfrom
Gustl22:129807-cleanup-tooling-arch

Conversation

@Gustl22
Copy link
Copy Markdown
Contributor

@Gustl22 Gustl22 commented Mar 30, 2026

There remained some code, which was left in to support build output for Flutter <= v3.16.x (see: flutter/flutter@792e26d)
As the minimum supported Flutter version is 3.35.x as of

- "--min-min-flutter-version=3.35.0"

we can remove the special handling for versions prior v3.16.x.

Contributes to flutter/flutter#129807

Pre-Review Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2

@flutter-dashboard
Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Pigeon test runner and the repository's native test tool to utilize dart:ffi's Abi for architecture detection, adding support for Linux RISC-V and ARM64. It also refactors CMakeProject to require an architecture and removes legacy compatibility logic for older Flutter versions. Feedback was provided regarding the architecture detection logic in native_test_command.dart, suggesting an explicit mapping to avoid fragile assumptions when handling multiple architectures.

@Gustl22
Copy link
Copy Markdown
Contributor Author

Gustl22 commented Mar 31, 2026

I suspect its

test-exempt: Remove code without adding functionality.

@stuartmorgan-g stuartmorgan-g self-requested a review March 31, 2026 18:27
@stuartmorgan-g
Copy link
Copy Markdown
Collaborator

test-exempt: is a test

(This test code isn't in a standard location that the bot recognizes as a test.)

test-exempt: Remove code without adding functionality.

It does change functionality, and it's not just removing code, so that's not the case here.

Copy link
Copy Markdown
Collaborator

@stuartmorgan-g stuartmorgan-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There remained some code, which was left in to support build output for Flutter <= v3.13.x.

What commit(s) exactly is this referring to? The only code I'm aware of that meets that description (paths without an arch) was already removed. flutter/flutter#141930 appears to be the earliest that this code could possibly be correct, and that a) didn't land until 3.19, and b) wasn't on stable at that point.

Based on the discussion in flutter/flutter#176603 it doesn't appear that this new logic is currently correct for anything but master still. Am I missing something?

@Gustl22
Copy link
Copy Markdown
Contributor Author

Gustl22 commented Apr 1, 2026

What commit(s) exactly is this referring to?

I was relating to the commit in this comment (whose issue I mentioned in the issue description):
flutter/flutter#129807 (comment)

So the actual change was made here: flutter/flutter@792e26d, which was merged to stable for 3.16.0

flutter build windows since then outputs build\windows\x64\runner\Release\example.exe, so there's no need any more to respect outputs without the x64 arch dir.

@Gustl22 Gustl22 changed the title [ci] refactor: Cleanup tooling for handling arch build output <= Flutter v3.13.x [ci] refactor: Cleanup tooling for handling arch build output <= Flutter v3.16.x Apr 1, 2026
@stuartmorgan-g
Copy link
Copy Markdown
Collaborator

I was relating to the commit in this comment (whose issue I mentioned in the issue description): flutter/flutter#129807 (comment)

I'm confused; there is no commit in that comment.

So the actual change was made here: flutter/flutter@792e26d, which was merged to stable for 3.16.0

flutter build windows since then outputs build\windows\x64\runner\Release\example.exe, so there's no need any more to respect outputs without the x64 arch dir.

And it already doesn't. That's what I was referring to when I said:

The only code I'm aware of that meets that description (paths without an arch) was already removed.

What part of this PR do you think is removing support for paths without an arch subdirectory?

@Gustl22 Gustl22 changed the title [ci] refactor: Cleanup tooling for handling arch build output <= Flutter v3.16.x [ci] refactor: Cleanup tooling for handling arch build output <= Flutter v3.13.x Apr 1, 2026
@Gustl22
Copy link
Copy Markdown
Contributor Author

Gustl22 commented Apr 1, 2026

I'm confused; there is no commit in that comment.

There are linked changes to a PR which was merged in the commit flutter/flutter@792e26d. Sorry, I thought that is obvious.

What part of this PR do you think is removing support for paths without an arch subdirectory?

https://github.com/flutter/packages/pull/11399/changes#diff-bb0d4d38717be1c6c0cae870a81c95d238c7106871b1437a083a5c1debe0d469L715

Are the TODOs you made in the code back then still valid? What should I do differently?

@Gustl22
Copy link
Copy Markdown
Contributor Author

Gustl22 commented Apr 1, 2026

I must admit, I couldn't make it work locally to test it. Google testing is still relying on CMake <3.5. I couldn't reinstall VS 2019 (only 6 GB left). I tried upgrading to a newer googletest version: https://github.com/google/googletest/releases/download/v1.15.2/googletest-1.15.2.tar.gz but then a pointer issue. So I was hoping to simply test it via CICD label.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants