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

feat(launchpad): launch project and runner with graphql #17460

Closed
wants to merge 27 commits into from

Conversation

lmiller1990
Copy link
Contributor

@lmiller1990 lmiller1990 commented Jul 23, 2021

Additional details

This PR builds on the GraphQL layer, adding queries and mutations to do things like:

  • initialize plugins
  • add a project
  • initalize server/websockets
  • launch/close a runner
  • query for the config (WIP - only some options are exposed at the moment)

TODO: tests - I will write many tests once I get a review and make sure the architecture and design is heading the right direction.
TODO: Integrate with UI using Apollo - I will do it in another PR to keep the PRs small.

I need a very thorough review, since I am sure I'm not using GraphQL to it's fullest potential. Some general questions, mainly for @tgriesser

  • we now have two sources of truth for some types, like Browser, which is defined in cypress.d.ts as well as here using Nexus' objectType. Should we be making Nexus definitions the one and only source of truth now?
  • general review, I am still learning GraphQL and Nexus, I am probably doing some silly things. Eg, how best to handle errors? Current I am doing it like this.

Here is a demo, showing how I can launch the CT runner using the GraphQL layer. Hooking it up to the UI with Apollo should be straight forward.

Demo:

demo_tr.mov

How has the user experience changed?

PR Tasks

  • Have tests been added/updated?
  • Has the original issue or this PR been tagged with a release in ZenHub?
  • Has a PR for user-facing changes been opened in cypress-documentation?
  • Have API changes been updated in the type definitions?
  • Have new configuration options been added to the cypress.schema.json?

@cypress-bot
Copy link
Contributor

cypress-bot bot commented Jul 23, 2021

Thanks for taking the time to open a PR!

@cypress
Copy link

cypress bot commented Jul 23, 2021



Test summary

18193 0 214 7Flakiness 2


Run details

Project cypress
Status Passed
Commit 91eff8d
Started Jul 26, 2021 1:54 AM
Ended Jul 26, 2021 2:05 AM
Duration 11:18 💡
OS Linux Debian - 10.8
Browser Multiple

View run in Cypress Dashboard ➡️


Flakiness

cypress/integration/commands/net_stubbing_spec.ts Flakiness
1 network stubbing > intercepting request > can intercept utf-8 request bodies without crashing
2 network stubbing > waiting and aliasing > can timeout waiting on a single request using "alias.request"

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard

@lmiller1990 lmiller1990 requested a review from tgriesser July 23, 2021 06:45
@lmiller1990 lmiller1990 marked this pull request as ready for review July 23, 2021 06:55
@lmiller1990 lmiller1990 requested a review from a team as a code owner July 23, 2021 06:55
@lmiller1990 lmiller1990 requested review from flotwig and kuceb and removed request for a team, flotwig and kuceb July 23, 2021 06:55
@lmiller1990
Copy link
Contributor Author

Will revisit this in another PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant