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

Quality Assurance Team #6525

Closed
loriopatrick opened this issue Apr 26, 2019 · 16 comments
Closed

Quality Assurance Team #6525

loriopatrick opened this issue Apr 26, 2019 · 16 comments

Comments

@loriopatrick
Copy link

There are quite a few DApps that depend on a MetaMask being reliable for our users. Is there a community team of QA testers to verify a build before release? If not, I think it would be hugely beneficial and I would be happy to dedicate my time. We're building merklex.io and currently our only solution to the issue is, keep trying or use an old version.

@marsrobertson
Copy link

marsrobertson commented Apr 26, 2019

EDIT: me troll 😇

@loriopatrick
Copy link
Author

Lol, I think it's more of a release procedure issue than funding. Tho more funding probably won't hurt.

What I would like to see is a request for feedback period of ~48 hours before non critical updates. During this time different dependent application can test the proposed release against their application to make sure everything is acting properly. If all looks good then the release can be published to the extension repositories.

Would be great to get some feedback on this. Does something like this already exist? @danfinlay @kumavis

@bdresser
Copy link
Contributor

@loriopatrick we'd be open to trying something like this. Our current release process is a slow rollout via the Chrome Web Store - usually a day at < 10% to catch any spikes in errors or early anecdotal reports, then gradual increase to 100%.

Today's error was tricky – 4byte went down because our traffic overwhelmed them, which didn't happen during the earlier partial rollout. We're making a note in our internal process to make sure we've communicated with any new external services we're adding.

Anyways - we'd welcome QA help from the community. Any suggestions on the best way to notify folks of a new prod-ready build?

@loriopatrick
Copy link
Author

Great to hear. Yeah this bug was a tricky one. In terms of notifying the community, I think a development twitter or mailing list would do well.

@bdresser
Copy link
Contributor

@loriopatrick & others - we're thinking of adding a nightly build of develop to the top of MetaMask's README. We can put a small standing bounty up for any bugs found on the build. Rather than having to post or notify folks every time we want to release, a continuous process might be easier for everyone.

I'd also be happy to create a Github group for those who find & report bugs reliably, and can ping that group when we're headed towards a release. Sound good?

cc @whymarrh @danfinlay

@danfinlay
Copy link
Contributor

We could also build up this process into our release guide. For example, maybe we add:

  • For non-urgent releases, a branch should be made for the next version, and a Release Candidate commit should be made, and Pull requested against develop, which should stand for at least two business days for public scrutiny before being pushed to production.
  • Release candidates should be given the special Release Candidate label, so the public can more easily track these events.
  • Additionally, release candidate events should be published to a public feed: Either a mailing list, or a special twitter account, or a Github group, TBD.

For that last item (the notification process), I'd prefer one that devs can easily subscribe to without our participation or permission, so making it a GH group sounds like an excessive administrative hoop to me. A mailing list or twitter feed are my two current favorites. Ideally something that IFTTT could easily hook into :)

@loriopatrick
Copy link
Author

These options sounds great! It would be really helpful for me to have the two business day period for review that @danfinlay suggests. Would the pull request be structured so that the changes from the last release would be outlined in the diff? I imagine that would be ideal but possible difficult depending on how things are currently setup. As for the notification, all those options would work for me, tho I do imagine using an IFTTT integration would be easiest to maintain.

@danfinlay
Copy link
Contributor

Currently develop represents our staging branch, and at the time we are proposing a version bump, we:

  • branch off develop
  • increment the version and changelog
  • PR the version branch to develop
  • After merge, we PR develop into master, which represents production.

We would probably have to revise that pattern a little bit to make it more clear which is staging/UAT. @whymarrh is going to take a pass at a specific proposal, and we'll continue from there.

@loriopatrick
Copy link
Author

Hi @whymarrh, checking in. Any progress?

@whymarrh
Copy link
Contributor

whymarrh commented May 9, 2019

@loriopatrick not quite yet, we'll be sure to share updates in this thread

@bdresser bdresser added this to the UI Sprint 12 [May 13] milestone May 9, 2019
@tmashuang
Copy link
Contributor

@loriopatrick Don't really have a system down yet, but here's a build to go through. #6596

@loriopatrick
Copy link
Author

Great, thank you. Will give it a test.

@loriopatrick
Copy link
Author

@tmashuang

Gave v6.5.0 a run through with our application. Currently failing on the Ropsten Network:

To recreate

Gives error: ALERT: Trying to call a function on a non-contract address.


Also first contract call after loading extension suggested 0 gas for transaction, after reject, second attempt picks appropriate value.

@loriopatrick
Copy link
Author

Opened issue #6602. Currently experiencing error with released version on Chrome Store.

@tmashuang
Copy link
Contributor

@loriopatrick we have setup a github group for the community-qa initiative, I sent you an invite. Also a new release, #6679.

@jennypollack jennypollack added the good first issue Good for newcomers label Jun 7, 2019
@bdresser
Copy link
Contributor

bdresser commented Jun 7, 2019

Hey @loriopatrick & others, thanks for your patience with this

We just launched https://twitter.com/metamask_bot, which will post all release candidates 48-72 hours before we begin an incremental production rollout. It includes a link to download a build for each browser, so you don't have to do any branch management - just download the build, load it in your browser, and play around.

Any bugs found on those builds that are introduced by new code in that release are eligible for a bug bounty at our discretion. We're intentionally leaving it open-ended for now given the way folks have reacted to past bug bounties, but trust that we very much appreciate the help and will incentivize accordingly.

Thanks for pushing us on this. Let me know if you have questions or other suggestions!

@bdresser bdresser closed this as completed Jun 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants