Skip to content

Verify that flutter upgrade could handle a "new" release with an older commit #170679

Description

@matanlurey

This is a postmortem action item to help decide how we'd fix a "bad release" in the future.


Imagine that we had pushed the contents of 3.32.2 as 3.32.4 to (temporarily) fix the broken release, 3.32.3.

We are not sure if we had done this, if it would have worked.

We could try experimenting, i.e. with a beta release, or otherwise perhaps try to mock/stub this happening locally (i.e. it's just git).

@jtmcdole Did you want to try this? If not let's assign it to @bkonyi - I have too many AIs (#170547, #170561, #170568) on my plate at the moment to take this up.

Activity

  1. added theissue type on Jun 16, 2025
  2. added
    P1High-priority issues at the top of the work list
    fyi-infraFor the attention of Infrastructure team
    team-toolOwned by Flutter Tool team
    infra: releaseRelease-related requests and tooling
    on Jun 16, 2025
  3. jtmcdole commented on Jun 16, 2025

    @jtmcdole
    Member

    @bkonyi - after the postmortem on the 3.32.3 release, we have a PM AI to verify that the Flutter Tool would have "done the right thing" if we had pushed a new release with an old gitsha.

  4. matanlurey commented on Jun 23, 2025

    @matanlurey
    ContributorAuthor

    Ping @bkonyi is this something you could look at fairly soon?

    This is a postmortem action item, and is important for the release team to know if we ran into a bad build, we could make a recovery release (release an older commit as the latest tag, and the flutter tool would still function as expected).

  5. bkonyi commented on Jun 24, 2025

    @bkonyi
    Contributor

    Yup, I'll take a look sometime today.

  6. bkonyi commented on Jun 24, 2025

    @bkonyi
    Contributor

    From a quick scan, I don't see any reason why the tool wouldn't be able to handle a new release that points to an older commit as long as we tag it with a more recent version. I'll see if I can write a test to try and mimic the scenario.

  7. bkonyi commented on Jun 24, 2025

    @bkonyi
    Contributor

    Ah, it looks like the upgrade check first retrieves the latest revision for the channel and checks for tags based on the revision. That means if we have a broken release tagged a.b.c and we create a new release with tag a.b.c+1 that points to an older revision, the tool won't detect a.b.c+1 as a newer release.

    To support new releases that are based on a framework revision older than the current release revision, we'd need to rework our upgrade logic to rely on the tag version strings to detect if there's a new Flutter version available.

  8. matanlurey commented on Jun 25, 2025

    @matanlurey
    ContributorAuthor

    As we discussed in triage, @bkonyi is going to come up with an estimate of:

    1. What would need to change to use tags instead of commits, and how long that would take
    2. What could possibly be broken (not exhaustive, but reasonable guess) by changing this workflow

    ... and then we'll meetup and decide if it's worth prioritizing.

  9. github-actions commented on Jul 22, 2025

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  10. locked as resolved and limited conversation to collaborators on Jul 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listinfra: releaseRelease-related requests and toolingteam-toolOwned by Flutter Tool team

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions