tree 808e22e5fbcc92f633ef648c0b8df704de8026bd
parent 6925f8b815ea2d2352393c111c5483867f5ce32c
author Elijah Okoroh <okorohelijah@google.com> 1762441380 -0800
committer GitHub <noreply@github.com> 1762441380 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpDLi0CRC1aQ7uu5UhlAAAgTgQAHUrEEjaBZ5yksD2ygUn0H8H
 fh42sMQSJMolyxW+4jUW1YRBwxFRJv4aPdEzduTFo5SHSrZZ/FJXzm+IgjauwS4l
 LDuvp/wjcoSdhhHXPDM8DesqM3VdPSvDBdzVq+0DB116LxMjRc5EtaeG+EuKk8Bu
 WBQaS6Vm4IMrr+AVjdPKvjqvS/XqQNnWtyoeYKfzGznINLTmXQHFnGHvw9TwoUvk
 kYFatzqFoYcRXiZ9/1Zo1aVmMVqVEtgkEubMOvNqiXMWTFvrYcb8nCnHgQ7QaNcX
 SE4Q4zwpbycVyx+SpxcoW/lpIaibJLLIiektoYoUoeD9huZSK1IoQO5KrfaxCwWm
 91j5KAemqciFuq9EMm4ahaDqdl8joz19d0GZyyb+UyLNJaPyFa5hShe4MbtLW0F3
 SCQbkFnRC0XQROALLS0fcxQ+86aMwMwb2xi+Bgb4xhZ4CAv+9hsiOJbsTU4rn6pq
 e+pVho4mkAp3alUawoG//xDvsRHB6SBP6sOcbCZOs6d1VprV8m4RpIJLWERPtAs1
 4Rf1NRGPh8RZKZ2w6Z+jdANNSHz3z9fiG7taRXEu9AwNhmyccW9eJVNkdiLDbk6O
 hMGmpsZCqw9OmYwT+zzDl1sPuNdeYKzMCFuXwOxszGcCKuBPVAh6bHDtfbkkeu3Q
 PUCiNHBQjJsj+AzJKC+b
 =5/ft
 -----END PGP SIGNATURE-----
 

Update .ci.yaml in flutter/flutter to use 15.5 (#177939)

Update .ci.yaml in flutter/flutter to use 15.5 

Note: (Not all devicelab bots are macOS 15.5. Some are 15.1 and 15.6.1)

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*

Fixes #177394

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md