Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Campaigns 3.20 Tracking issue #13068

Closed
52 tasks done
chrispine opened this issue Aug 17, 2020 · 12 comments
Closed
52 tasks done

Campaigns 3.20 Tracking issue #13068

chrispine opened this issue Aug 17, 2020 · 12 comments
Labels
batch-changes Issues related to Batch Changes tracking
Milestone

Comments

@chrispine
Copy link
Contributor

chrispine commented Aug 17, 2020

Goal

Remove the feature flag, so campaigns will be available by default. This means getting campaigns to a state where we are comfortable doing so.

In order to feel good about the removal of the feature flag, this release will entail a good deal of cleaning up, polish, and minor bug fixes. We will also be focusing on documentation, user testing, more design work, and a marketing video and blog post.

As in the previous release cycle, we will work as a team to meet this single goal, dividing up the work roughly as follows: @eseliger will focus on front-end features and collaboration with design, @mrnugget will work on the back-end, and @LawnGnome will continue with src-cli work. (While this is the same division of labor as last cycle, we state an explicit intention to rotate in the future, so no one becomes a knowledge silo or “the engineer who always does X”.) This is also @chrispine’s first full release cycle, so he has some tasks aimed at ramping him up.

Campaigns will remain in beta for 3.20.

Availability

Period is from August 20th to September 18th (22 working days, ~17 working days before branch cut). Please write the days you won’t be working and the number of working days for the period.

If you have planned unavailability this iteration (e.g., vacation), you can note that here.

  • @mrnugget 5d vacation (September 7 to September 11)
  • @LawnGnome: 5d vacation (August 31 to September 4) + 1d public holiday (Labour Day, September 7)
  • @eseliger: Likely 5d vacation as well

Tracked issues

@unassigned: 0.50d

Completed: 0.50d

  • (🏁 39 days ago) When reconciler updates commit of changeset the diff view is outdated until the next sync (#13408) 0.50d
  • (🏁 38 days ago) Newlines in campaign description are not rendered (#13640)
  • (🏁 32 days ago) Update campaigns documentation for new workflow (#12784)
  • (🏁 26 days ago) Check state is reported as failed even though all the checks passed (#13789)

@LawnGnome: 3.00d

Completed: 3.00d

  • (🏁 52 days ago) doc: update src-cli campaign examples (#13190) :shipit:
  • (🏁 49 days ago) campaigns: split preview/apply commands (#275) 0.50d
  • (🏁 49 days ago) Actions Exec requires global git user/email config (#256) 0.50d 🐛
  • (🏁 46 days ago) campaigns: improve error output (#283) :shipit:
  • (🏁 46 days ago) campaigns: show the repos that are unsupported (#284) :shipit:
  • (🏁 46 days ago) campaigns: move campaign spec schema to ./schema (#286) :shipit:
  • (🏁 42 days ago) schema: fix incorrectly nested prop in settings (#13472) :shipit:
  • (🏁 26 days ago) campaigns: increment minimum src-cli version before 3.20 cut (#13724)
  • (🏁 26 days ago) Write an RFC on how to perform campaigns code host interactions with user accounts (#10813) 2.00d 🛠️
  • (🏁 26 days ago) campaigns: review docs for completeness and accuracy (#13153)

@chrispine: 3.00d

Completed: 3.00d

  • (🏁 45 days ago) Do not re-execute campaign spec steps when the diff is still valid (#13172)
  • (🏁 32 days ago) campaigns: allow users to specify the author details used when creating commits (#12769) 2.00d
  • (🏁 20 days ago) user testing for campaigns (#13151) 1.00d

@eseliger: 15.50d

Completed: 15.50d

  • (🏁 55 days ago) Add API to fetch changesets that are going to be closed by closeCampaign (#13083) 0.50d
  • (🏁 54 days ago) Campaigns close page (#13056) 1.50d
  • (🏁 54 days ago) Adopt new status column for filtering (#13057) 0.50d
  • (🏁 49 days ago) Replace "automation" feature flag with "campaigns" toggle and remove configuration flags (#10713) 1.00d 🛠️
  • (🏁 49 days ago) Add +/- icons to the diff to improve accessibilty (#12934) 0.50d
  • (🏁 47 days ago) Default to show only open campaigns in list (#13265) 0.50d
  • (🏁 47 days ago) Campaigns status bar should update when applying campaigns (#13183) 0.50d
  • (🏁 47 days ago) Order campaigns in descending order of creation (#13266) 0.50d
  • (🏁 47 days ago) Add breadcrumbs to campaigns components (#13292; PRs: #13293) 0.50d
  • (🏁 46 days ago) Use campaign name in URL instead of ID for better readability (#13086) 1.00d
  • (🏁 42 days ago) Improve handling of pagination parameters on campaigns connections (#13369) 1.00d 🧶
  • (🏁 41 days ago) campaigns: GraphQL crash when resolving diff (#13498) 0.50d 🐛
  • (🏁 40 days ago) src-cli fails to run campaign with a branch name used in a previous campaign (#13582)
  • (🏁 33 days ago) Create a demo campaign on dogfood (#13696) 0.50d
  • (🏁 33 days ago) Campaigns file link in diff view should expand diff (#11385)
  • (🏁 33 days ago) Reconcile designs and front end development (#13116) 1.50d
  • (🏁 32 days ago) Properly show processing changesets (#13136) 1.00d
  • (🏁 31 days ago) Allow exporting of campaign spec YAML (#13210) 1.00d
  • (🏁 31 days ago) Tighten up language/concept usage in campaigns UI (#13629) 0.50d
  • (🏁 28 days ago) Implement empty state designs for campaigns (#13731; PRs: #13768) 1.00d
  • (🏁 27 days ago) Add create/edit page for campaigns (#13058; PRs: #13725) 1.50d

@mrnugget: 12.00d

Completed: 12.00d

  • (🏁 49 days ago) Replace "automation" feature flag with "campaigns" toggle and remove configuration flags (#10713) 1.00d 🛠️
  • (🏁 46 days ago) Move SyncChangesets to the background (#12645) 2.00d
  • (🏁 45 days ago) Move CloseOpenChangesets to the reconciler (#12644) 2.00d
  • (🏁 40 days ago) Allow retrying of errored changesets (#12700; PRs: #13457, #13478) 4.00d
  • (🏁 39 days ago) Unable to enqueue changeset to be reconciled while it's being reconciled (#12827) 3.00d
  • (🏁 39 days ago) Unable to run comby in campaign spec steps because probing for shell failed (#13620)
  • (🏁 28 days ago) Fix nil panic in reconciler by setting repo when closing changesets (#13795) :shipit:
  • (🏁 27 days ago) GitLab source panics when closing changesets (#13790)
  • (🏁 27 days ago) Update commit when author email/name changed (#13819) :shipit:
  • (🏁 26 days ago) campaigns: review docs for completeness and accuracy (#13153)

@rrhyne: 5.50d

Completed: 5.50d

  • (🏁 34 days ago) Campaigns new flow design (#12885) 3.00d
  • (🏁 33 days ago) Reconcile designs and front end development (#13116) 1.50d
  • (🏁 26 days ago) Design create/edit page for campaigns (#13115) 1.00d
  • (🏁 26 days ago) Design campaign empty states (#13187)

Legend

  • 👩 Customer issue
  • 🐛 Bug
  • 🧶 Technical debt
  • 🛠️ Roadmap
  • 🕵️ Spike
  • 🔒 Security issue
  • :shipit: Pull Request
@chrispine chrispine added tracking batch-changes Issues related to Batch Changes labels Aug 17, 2020
@chrispine chrispine added this to the 3.20 milestone Aug 17, 2020
@chrispine chrispine changed the title WIP: Campaigns 3.20 Tracking issue Campaigns 3.20 Tracking issue Aug 19, 2020
@mrnugget
Copy link
Contributor

Weekly Update - 2020-08-17 to 2020-08-24

Last week was planning and releasing week, so after coming back from vacation I mainly helped to fix some minor bugs before the new workflow went out with 3.19. On Friday I made the conscious decision to finally fix some bugs in our workflow and tooling that have been bugging me for a while now (changed default branch of docs.sourcegraph.com, cleaned up our local build processes, etc.).

This week my goal is to move the syncing and closing of changesets to the background. That's two tickets that go hand in hand and I think both will also require some refactoring of the reconciler, which will then hopefully lead into the other planned work on the reconciler: fixing error handling and enqueueing.

@LawnGnome
Copy link
Contributor

Weekly update: 2020-08-17 to 2020-08-21

Last week was busy! After the rush to try to get 3.19 to a point of minimal functionality, last week for me involved the post-3.19-cut work: reviewing changes that we needed to get in after branch cut, fixing a bug in the database migration, and most importantly, finishing off the src campaigns apply functionality required for the 3.19 release.

Along the way, I also addressed another of my src-cli pain points by implementing a new output layer — initially for use in src campaigns apply, but also I'd like to retrofit it onto the commands where it makes sense in the longer term. I think it's pretty:

out1

This week, I want to make progress on two specific issues: designing how we'll perform code host interactions as users, and allowing users to publish only a subset of changesets in a campaign. Looking further forward, I'm going to be away next week, and both of these tasks require feedback and consideration from the team and beyond, so I want to make sure those are ready for review and feedback while I'm gone.

@eseliger
Copy link
Member

Weekly update: 2020-08-17 to 2020-08-21

Last week was all about getting campaigns stuff ready. Wrote a bunch more code, added the close UI and ticked off some of the remaining bits to the campaigns UI before the 3.19 release. In addition to that, I've spent some time in between planning stuff doing some more cleanup work, fixing a bug in the reconcoler, migrated some more of the TS codebase to newer practices and helped out a little on the external services UI for user settings.

This week, I'm going to tackle my smaller tickets, like adding breadcrumbs, using the campaign name in the URL and stuff so I have all the remaining time in the iteration to only think about the bigger ones, like design work and user testing.

@chrispine
Copy link
Contributor Author

Weekly update: 2020-08-17 to 2020-08-21

Last week I spent a fair bit of timing working on my career path blog post and distilling our near term goals to add to our team's about page. The team also led me on a tour of our backlog, and we did the 3.20 planning encapsulated by this tracking issue.

Goals for this week:

  • Ensure that we are front-loading collaboration with Design for 3.20
  • Team Processes: flesh out some ideas, run it by the team, add the resulting decisions to our team’s About page
  • User testing: work with Rob and the team to establish a plan
  • Incorporate final feedback on my blog post
  • Issue Do not re-execute campaign spec steps when the diff is still valid #13172: Do not re-execute campaign spec steps when the diff is still valid

@eseliger
Copy link
Member

Weekly update: 2020-08-24 to 2020-08-28

Last week, I wanted to get most smaller tickets done to free up my table for design work which should start coming in this week and it turns out it was possible to get even more done than anticipated because some magically made others simpler to do.
Given that, most of the tasks I had for this iteration that don't have anything to do with design are finished now, which gives me confidence this iteration should be much more on time than last one.
Besides design work, RFCs and user testing planning will probably take up some time this week as well.

@mrnugget
Copy link
Contributor

Weekly Update: 2020-08-24 to 2020-08-28

Last week I finished my work on moving the closing and syncing out of the request path into the background, into the reconciler. Now we don't make any requests to code hosts in the frontend process anymore!

This week I want to finish all my "coding" tickets before going on vacation next week. I want to finish the retrying of errored changesets and fix the race condition that currently exists when you try to apply a new campaign spec while the old one is still being reconciled. I think I might have overestimated both slightly, so I'm relatively confident that I can fit them into this week, since we can also reduce scope in both of these too.

The plan is that after my week of vacation I can then pick up the work on the docs and do the marketing video, help/write a blog post, etc.

@chrispine
Copy link
Contributor Author

Weekly Update: 2020-08-24 to 2020-08-28

Last week was very personally satisfying, as I think I finally “got”, at least at a high level, what campaigns are and how they work. I submitted a few small PRs, including improvements I just wanted to see (as opposed to work that was assigned). I also did more work on my blog post, which I think is nearing completion, and participated in discussions with other EMs about team-building at the EM level.

This week my main goals are to start working on our user testing story (which I didn’t get to last week), and to add the ability to specify commit author name/email. I am also shepherding RFCs 228 & 229 for Adam while he’s out.

@chrispine
Copy link
Contributor Author

chrispine commented Sep 8, 2020

Weekly Update: 2020-08-31 to 2020-09-04

Last week I spent a fair bit of time on our keeping our user testing plan and our RFCs (228, 229) rolling forward. I also worked on adding git commit author details to campaigns, which is almost complete.

This week I want to land those PRs and pick up another issue to go into 3.20. I also want to start our user testing for campaigns this week, and finish up my blog post.

As this is the last full week before we cut 3.20, we’ll be making sure we’re on track for that. (Currently we are.)

Finally, we have a meeting on Monday morning with Indeed, so preparations for that will need to happen this week.

@eseliger
Copy link
Member

eseliger commented Sep 8, 2020

Weekly Update: 2020-08-31 to 2020-09-04

Last week, I ticked off some design work and all remaining non-design-related tickets for 3.20. Also, I've investigated and fixed a bug with syntax highlighting, that prevented diff renders of files with two newlines at the end of the file.

Given only design work is left for 3.20, it will hopefully leave me enough room this iteration to get some fancy things in for the iteration. I've had a discussion with Rob today on the remaining work we want to get in for the release. I'll also create a demo campaign for CE to showcase, and might be looking into some weird behavior of the reconciler.

@mrnugget
Copy link
Contributor

Weekly plans after vacation last week

My plan for this week is to record the campaigns demo video, fixing all possible bugs I run into, help with reviewing and merging last-minute fixes and planning 3.12. I anticipate that recording the demo video will surface things that I also want to add/correct in the docs.

@davejrt
Copy link
Contributor

davejrt commented Sep 14, 2020

Dear all,

This is your release captain speaking. 🚂🚂🚂

Branch cut for the 3.20 release is scheduled for tomorrow.

Is this issue / PR going to make it in time? Please change the milestone accordingly.
When in doubt, reach out!

Thank you

@LawnGnome
Copy link
Contributor

Weekly update: 2020-09-078 to 2020-09-11

After my kayaking sojourn, last week I returned to catch up on my e-mail, GitHub notifications, and RFCs. I then got waylaid into investigating an interesting reconciler bug that Erik found, which actually turned out to be two bugs in a trenchcoat. Thorsten fixed one of them, and I'm hoping to wrap up the second one today.

This week, I intend to complete the campaign documentation sweep for 3.20, then close out the RFCs as early 3.21 work. If I get through that, then I'd like to pick up a couple of the tech debt tickets we've gradually accumulated, especially this SetDerivedState one.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
batch-changes Issues related to Batch Changes tracking
Projects
None yet
Development

No branches or pull requests

6 participants