Skip to content

Conversation

@Piinks
Copy link
Contributor

@Piinks Piinks commented Sep 17, 2019

Description

This PR adds Local and PreSubmit testing support for Skia Gold, which was first landed as a post-submit comparator in #36103.

Original PR #39853
Design Doc: flutter.dev/go/golden-workflow.
Feedback is welcome here and in the design doc.

Needs to land first:

Tests

Many.

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require Flutter developers to manually update their apps to accommodate your change?

  • No, this is not a breaking change.

@fluttergithubbot fluttergithubbot added a: tests "flutter test", flutter_test, or one of our tests f: cupertino flutter/packages/flutter/cupertino repository f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. labels Sep 17, 2019
@Piinks Piinks removed f: cupertino flutter/packages/flutter/cupertino repository f: material design flutter/packages/flutter/material repository. labels Sep 17, 2019
@Piinks
Copy link
Contributor Author

Piinks commented Sep 19, 2019

Marking this WIP again for some changes after some offline feedback from @kjlubick. 👍

Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

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

I am missing an overview somewhere in the docs that says: These are the three cooperators we have and this is how they differ.

@Piinks Piinks added a: images Loading, displaying, rendering images c: contributor-productivity Team-specific productivity, code health, technical debt. labels Oct 10, 2019
Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

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

LGTM

@Piinks
Copy link
Contributor Author

Piinks commented Oct 17, 2019

FYI @kjlubick this is ready to land. :)

@Piinks
Copy link
Contributor Author

Piinks commented Oct 18, 2019

@goderbauer I have made 2 changes here.

  1. due to API behavior I had not accounted for when outputting test failures. It incorporates the image hash in the output so if there have been a lot of recent changes to a particular file, they can be differentiated.

  2. I have also removed the output clean-up, as I have found it does not work as intended. Since multiple processes are running tests, one process can end up deleting the output of another. I have not yet found a way to safely delete the output without exposing such a nuclear option publicly to other developers running golden file tests. Since output is only generated when making a change, which is not often, I think this is ok for now.

I would like to follow-up on these in later (smaller) PRs. I will already be revisiting to incorporate new features from Skia Gold as they become available. WDYT?

@fluttergithubbot fluttergithubbot added f: cupertino flutter/packages/flutter/cupertino repository f: material design flutter/packages/flutter/material repository. c: API break Backwards-incompatible API changes labels Oct 18, 2019
@Piinks Piinks removed f: cupertino flutter/packages/flutter/cupertino repository f: material design flutter/packages/flutter/material repository. labels Oct 21, 2019
Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

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

Those changes sound good.

@Piinks
Copy link
Contributor Author

Piinks commented Oct 21, 2019

I will land this once the tree is green. I already have the wiki update queued for when it lands. :)

@Piinks Piinks merged commit 8df0d65 into flutter:master Oct 21, 2019
Piinks added a commit that referenced this pull request Oct 22, 2019
Piinks added a commit that referenced this pull request Oct 22, 2019
String rawResponse;
await io.HttpOverrides.runWithHttpOverrides<Future<void>>(() async {
final Uri requestForDigest = Uri.parse(
'https://flutter-gold.skia.org/json/details?test=$testName&digest=$expectation'
Copy link
Contributor Author

Choose a reason for hiding this comment

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

FYI @kjlubick This appears to be the request that was timing out.

Copy link
Contributor

Choose a reason for hiding this comment

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

Alright, that also is prone to the 5 QPS limit atm. I'll dig in a bit and see what we can do about it before our discussion tomorrow.

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually, that one is on a rate limit that is way under 5QPS, but measurements show that it might not need to be.

Copy link
Contributor

Choose a reason for hiding this comment

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

@Piinks Piinks deleted the flutterGold branch November 22, 2019 00:58
Inconnu08 pushed a commit to Inconnu08/flutter that referenced this pull request Nov 26, 2019
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

a: images Loading, displaying, rendering images a: tests "flutter test", flutter_test, or one of our tests c: API break Backwards-incompatible API changes c: contributor-productivity Team-specific productivity, code health, technical debt. framework flutter/packages/flutter repository. See also f: labels. will affect goldens Changes to golden files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants