Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(CI): device log artifacts, soft-fail retries, bump deps [WIP] #4265

Closed

Conversation

mikehardy
Copy link
Contributor

Description

The E2E tests are flaky right now, and it is hard to diagnose problems with android emulator or ios simulator

This PR is a taste-test - if it is acceptable I can re-push with the same style templated across the other modules

Changes are:

  • emulator and simulator logging is captured and uploaded as workflow artifact
  • all soft-fails (e.g., steps susceptible to transient network errors) are retried
  • current version of cancel action inside a workflow, eliminates "magic" workflow numbers in separate cancel.yaml
  • bump checkout version

Note that this style has been tested heavily after a concerted effort to de-flake the E2E CI in react-native-firebase

Related Issues

I have not been watching this repo, unsure if there are issues logged, but I have already seen a gradle network failure, and an e2e test app crash just on the 2 PRs I've tried here, each of which would have been addressed by this PR

Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (flutter analyze) does not report any problems on my PR.
  • I read and followed the Flutter Style Guide.
  • I signed the CLA.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require plugin users to manually update their apps to accommodate your change?

  • Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
  • No, this is not a breaking change.

@google-cla google-cla bot added the cla: yes label Nov 29, 2020
@mikehardy mikehardy marked this pull request as draft November 29, 2020 21:19
@mikehardy
Copy link
Contributor Author

@Salakar this is a taste check for whoever the CI-master is in this repo - I didn't want to clone-stamp across the other modules unless it was acceptable, but it's almost all the tricks I put in place in RNFB CI except the multi-try on emulator, but the emulator retry is concise here so didn't want to touch that.

- emulator and simulator logging is captured and uploaded as workflow artifact
- all soft-fails (e.g., steps susceptible to transient network errors) are retried
- cancel action can work inside a workflow run vs as a separate step
- bump checkout version
@mikehardy mikehardy force-pushed the e2e-dependencies-retries-logging branch from bf80b43 to d2df9cc Compare January 25, 2021 15:53
@mikehardy
Copy link
Contributor Author

Apparent lack of interest, closing

@mikehardy mikehardy closed this Mar 29, 2021
@mikehardy mikehardy deleted the e2e-dependencies-retries-logging branch March 29, 2021 12:52
@Salakar
Copy link
Member

Salakar commented Mar 29, 2021

Apparent lack of interest, closing

Definitely interested, we just wanted to get past null-safety which we have now. Let's discuss internally :)

@mikehardy mikehardy restored the e2e-dependencies-retries-logging branch March 29, 2021 13:25
@mikehardy mikehardy reopened this Mar 29, 2021
@mikehardy
Copy link
Contributor Author

Implementation idea to push improvements through:

we could do it in stages first but across all workflows, e.g. update action versions first, add in logs capture and output artefacts, then figure out retries

@mikehardy mikehardy closed this Dec 12, 2021
@firebase firebase locked and limited conversation to collaborators Jan 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants