Web: 3.19 tracking issue
Created by: lguychard
Iteration name
"We want to experience the pain"
Goals
Use recent improvements from design to dogfood and improve our design-to-developer handoff process
Problem
As we are building out our design team, our most recent data points on design-to-developer handoff have outlined pain points. We want to use recent improvements from design that are ready for handoff (headers & breadcrumbs for common page types, information architecture improvements) to dogfood our interface between design and development, and improve it in any way we can.
Planned work
- The team will collectively review the designs for #11774, #11775
- We'll derive an implementation plan, making sure that we all get exposure to the handoff process.
- We'll take this opportunity to identify what is missing / what needs to be cleand up in Storybook (which is meant to be the developer-facing interface to our component system), and take action there
- During implementation, we'll collect data points about the handoff:
- We'll identify the pain points that we can fix. We'll fix them immediately if possible, otherwise, we'll formulate the resulting problem statements we want to fix next.
- We'll also identify what did work, and turn it into documentation for future developers to follow.
Reduce our reliance on the e2e regression test suite to the bare minimum
Problem
Our heavy reliance on our end-to-end regression test suite creates pain at the end of every release cycle: regression tests are run manually, which is a painful process, and they require incremental fixes at the end of every release cycle (https://github.com/sourcegraph/sourcegraph/pull/12258, https://github.com/sourcegraph/sourcegraph/pull/12439). Yet, our testing pyramid documents that we should use end-to-end tests sparingly. While the web team did build an integration tests platform in 3.18, giving us the ability to continuously test complex UI flows in CI with no flakiness, there is still some work left to do to take this over the finish line.
We want to expand our integration test suite, and delete corresponding e2e regression tests, so that our reliance on e2e regression tests is dramatically reduced by the end of the milestone, bringing us significantly closer to a fully automated release process.
Planned work
- @twop, who has owned previous audit efforts, owns identifying all flows that should have integration tests, and distributing them to web team members for implementation
- @twop and @felixfbecker will work on using non-hacky graphQL type generation for the query/response types used in integration tests (this is notably being worked on in #12284)
- @lguychard and @marekweb will work on figuring out how to make integration tests work to test extensions and the browser extension, which is blocked by https://github.com/sourcegraph/sourcegraph/issues/12194. @lguychard's work on writing our netflix/pollyjs adapter is relevant here. This will unlock:
- The ability to test UI flows contributed by extensions (notably our code intelligence UI flows)
- The ability to test native integrations (which are currently untested when releasing Sourcegraph, as they're not covered by the e2e regression test suite)
Availability
Period is from July 20th to August 19th (23 working days).
@lguychard: 20d (off starting August 19th) @felixfbecker: 23d @marekweb: 23d @twop: 23d
Issues in the milestone
The primary source of truth for what the team is working on in this milestone is the Goals section above. Progress on those goals is communicated through weekly updates as comments to this tracking issue. As such, this section should not be taken as a comprehensive overview of what the team is working on in 3.19.
@Unassigned: 11.00d
-
Placeholder (maybe split later): migrate the rest of the areas to the new model according to RFC 155. #10750 8d -
Migrate ExtExtensions API to a new model described in RFC 155 #10749 3d
@felixfbecker
-
Adopt graphql-code-generator #12559 :shipit:
@lguychard
-
Add Repository / Update Repository actions unclear #10899 🐛
@limitedmage
-
Add tags to Git-extras extension #12485
@marekweb
-
Bitbucket Server native integration prevents file header text from wrapping #11110 🐛
@tjkandala
-
Browser ext links to Sourcegraph don't appear on repos when branches specified #11057 🐛