[SERVER-76334] Improve dev workflow ergonomics for additional tools Created: 19/Apr/23  Updated: 16/Oct/23  Resolved: 16/Oct/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Tausif Rahman (Inactive) Assignee: [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive)
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Server Development Platform
Participants:

 Description   

Right now, we have a lot of tools that need to run as part of the development process but devs forget about until it fails in evergreen. If we can improve this, it will reduce workflow interrupts.

One idea is pre commit checks for dev workflow.
If we could have "easy to setup" & fast pre commit hooks that run on commit or on patch build submission we could save devs time from failing CI tasks like "generate matrix suites", "pylinters", "eslint", etc.

An alternative/additional thing we can do is implement the SCons checks for resmoke.
So if a dev makes some changes that puts resmoke in an "illegal" state, resmoke will "fail fast" & with a clear message.
The precommit hook could just run the "resmoke check" before allowing the dev to commit.
It was also suggested to add a new build target, which may be be used to automatically bring resmoke into a "valid" state.



 Comments   
Comment by Tausif Rahman (Inactive) [ 20/Apr/23 ]

Regarding "patch PRs", From max.hirschhorn@mongodb.com : there's probably some GitHub configuration which could be added to https://github.com/10gen/query-code-review to make it happen

Comment by Tausif Rahman (Inactive) [ 20/Apr/23 ]

Another way we can do this is to have a patch PR on the mongo evergreen project. So whenever a dev commits to their branch on an open PR, a "mini task" will run which will pass if linters, generate files, etc. are all good & fail if not. We have a 1 click way to bring your repo to a valid state. So a dev would know much earlier that they need to run the "fix it" command.

Generated at Thu Feb 08 06:32:25 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.