Skip to content

Flutter framework customer_testing tests cocoon with latest Flutter SDK, while cocoon CI uses stable SDK #65045

Closed
flutter/tests
#69

Description

@christopherfujino

In #65041, a change to dartfmt caused the customer_testing shard cocoon test to fail the formatter test. When trying to update cocoon with the new formatting, Cocoon CI failed because it is based on Flutter stable SDK.

If cocoon's test suite is included in customer_testing, then Cocoon's CI should use the latest Flutter SDK, to minimize the time Cocoon's CI is broken. If Cocoon's CI needs to use stable Flutter SDK, then it should be removed from customer_testing (which usually runs latest SDK).

The version of the Flutter SDK used in Cocoon CI is defined in https://flutter.googlesource.com/recipes/+/refs/heads/master/recipes/cocoon.py#36.

Activity

  1. keyonghan commented on Sep 1, 2020

    @keyonghan
    Contributor

    Shall we update cocoon CI to use latest SDK, or the other way around?

  2. christopherfujino commented on Sep 1, 2020

    @christopherfujino
    ContributorAuthor

    Shall we update cocoon CI to use latest SDK, or the other way around?

    I fleshed out the description.

  3. christopherfujino commented on Sep 1, 2020

    @christopherfujino
    ContributorAuthor

    I'm not sure which version of Flutter we use for prod, but I'm guessing CI should use the same.

  4. CaseyHillers commented on Sep 2, 2020

    @CaseyHillers
    Contributor

    Would it be okay to remove the dartfmt checks from flutter/tests? The more important part is the tests.

  5. christopherfujino commented on Sep 2, 2020

    @christopherfujino
    ContributorAuthor

    Would it be okay to remove the dartfmt checks from flutter/tests? The more important part is the tests.

    What do we do if a non-formatting breaking change happens that breaks Cocoon tests? I disabled the flutter/tests cocoon tests after hacking around the formatting failure but updating Cocoon to latest in the registry picked up an API change that failed.

  6. christopherfujino commented on Sep 2, 2020

    @christopherfujino
    ContributorAuthor

    I believe the failure was related to this 4d8934af485

  7. CaseyHillers commented on Sep 2, 2020

    @CaseyHillers
    Contributor

    What do we do if a non-formatting breaking change happens that breaks Cocoon tests? I disabled the flutter/tests cocoon tests after hacking around the formatting failure but updating Cocoon to latest in the registry picked up an API change that failed.

    In this case, I think a breaking change to Cocoon's tests should then follow Flutter's breaking change policy.

    Since customer tests run in presubmit, developers have been able to update Cocoon to conform to updates without needing to go through the breaking change policy.

  8. christopherfujino commented on Sep 2, 2020

    @christopherfujino
    ContributorAuthor

    What do we do if a non-formatting breaking change happens that breaks Cocoon tests? I disabled the flutter/tests cocoon tests after hacking around the formatting failure but updating Cocoon to latest in the registry picked up an API change that failed.

    In this case, I think a breaking change to Cocoon's tests should then follow Flutter's breaking change policy.

    Since customer tests run in presubmit, developers have been able to update Cocoon to conform to updates without needing to go through the breaking change policy.

    But then to land the change, they'd have to land on red (since tests run on stable). And cocoon ci would stay red until the Flutter breaking change is published to stable. Also, does Cocoon run in prod using Flutter master? If not, then applying a breaking change could break Cocoon.

    Per @godofredoc , I think he said CI used to run on master, but it would frequently be broken.

  9. CaseyHillers commented on Sep 2, 2020

    @CaseyHillers
    Contributor

    In the case of flutter/tests#34 (IIRC Cocoon was running on stable) Cocoon was able to be rolled forward. No need to land on red.

    I think these cases where it causes deadlock require a soft transition. With test code that should be possible, right?

  10. christopherfujino commented on Sep 3, 2020

    @christopherfujino
    ContributorAuthor

    In this case, methods were renamed 4d8934af485

  11. CaseyHillers commented on Dec 2, 2020

    @CaseyHillers
    Contributor

    There's some issues with Cocoon when running tests on Windows. These have crept in as Cocoon's CI is only a Linux bot. There's two paths forward:

    1. Drop windows coverage of Cocoon in customer_tests.
    2. Add windows builder to Cocoon and fix the outstanding issues. Maintain Cocoon Windows support.

    @godofredoc what do you think? #2 is a few hours of work to get the builder running and Cocoon fixed.

  12. github-actions commented on Aug 9, 2021

    @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.

  13. locked as resolved and limited conversation to collaborators on Aug 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P3Issues that are less important to the Flutter projectc: contributor-productivityTeam-specific productivity, code health, technical debt.team-infraOwned by Infrastructure team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions