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

Fed engineer PR reviewer checklist #104285

Merged
merged 3 commits into from
Mar 11, 2025
Merged

Fed engineer PR reviewer checklist #104285

merged 3 commits into from
Mar 11, 2025

Conversation

rmtolmach
Copy link
Contributor

@rmtolmach rmtolmach commented Mar 3, 2025

This is a proposed issue template for federal engineers to fill out before becoming PR approvers.

The idea for this checklist came up at a team lead meeting (meeting notes) and then also brought up at the CoP meeting. Definitely open to feedback!

Link to markdown preview 👀

- [ ] I understand I can reach out in the CoP Slack channel with PR questions.

## Approval
- [ ] Approved by Bill Chapman
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we shouldn't same something like Approved by OCTO Leadership or something like that. I could see Bill being one of the main approvers but most likely not the only one?

Or, maybe leave as is for now and we can see how it flows and adjust later if we believe it needs it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps the best alternative is Approved by OCTO Engineering CoP Director - perhaps also the Platform Engineering OCTO lead could approve?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ changed it to:

  • Approved by OCTO Engineering Leadership (comment with name of approver).


- [ ] Thoroughly review the [Code review guide for vets-api](https://vfs.atlassian.net/wiki/spaces/BCP/pages/3155394563/Code+review+guide+for+vets-api).
- [ ] Review and save this [PR tips page](https://vfs.atlassian.net/wiki/spaces/BCP/pages/3918135327/PR+tips+for+federal+engineers) for details once you start reviewing and merging PRs.
- [ ] I understand I am responsible for the code my team deploys.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this mean in practice?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As it stands, the Platform is responsible for all code that's deployed, meaning that if I approve a PR from a VFS team that leaks PII, for example, I would get called out (or more likely Clint would 🫣). Taking responsibility for your team's code means you take on that liability. This is my understanding. Did I get that right, @little-oddball?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand that this is a bigger discussion than a single PR, but I would love to see more embrace the red mentality and less focus on blame, both for federal engineers and for platform folks! Perhaps something like:

  • I understand that I committing to provide leadership for issues that may arise as a result of changes I approve. I will lead blameless postmortems and champion remediations and improvements that are identified.

Side note: is the idea here for federal engineers to provide expedited reviews as requested, or to become the primary/only reviewers for given teams? (The first was my understanding)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can change the term from blame to responsible if you want. Currently in the end, any code that gets into vet-api, vets-website or devops is Platform responsibility which in turn means any issue that happens w/ that code becomes Platform responsibility to address, etc.

The change to teams being more responsible and accountable to their apps is a movement to shift this needle in several ways... one of which having fed engineers aligned w/ VFS team and owning the code for those apps.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as fed engineers only being involved with expedited reviews as requested or being the primary/only reviewers.

My understanding is the goal is not just expedited PRs but to move away from Platform having to review all PRs in general. Platform is pretty far removed from the ~50 apps teams or so that are committing code regularly so while we can put eyes on them to effectiveness is going to vary greatly due to limited resources we have to support such a scale as well as having the depth of context related to any specific teams items they are working to deliver on.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like your suggestion. I'll add it!

Side note: is the idea here for federal engineers to provide expedited reviews as requested, or to become the primary/only reviewers for given teams? (The first was my understanding)

The second one. But we still recommend getting another teammate's review, so the fed. eng. isn't the only review.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ changed it to:

  • I understand that by approving changes, I am responsible for leading efforts to address any issues that may arise. This includes facilitating blameless postmortems and driving the implementation of necessary remediations and improvements.

- [ ] I understand I can reach out in the CoP Slack channel with PR questions.

## Approval
- [ ] Approved by Bill Chapman
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps the best alternative is Approved by OCTO Engineering CoP Director - perhaps also the Platform Engineering OCTO lead could approve?

Comment on lines +5 to +6
labels: ['']
assignees: ''
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are we tracking if someone fills this out? Are we thinking a fed eng. comes through support and is handed this template to fill out? If that's the case, maybe this is fine and a label and assignee aren't needed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe you could create GitHub teams managed by the CoPs? backend-cop-federal-reviewers and so on

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ended up not changing anything here. We can make improvements if we need to later 🙂


## Training

- [ ] Thoroughly review the [Code review guide for vets-api](https://vfs.atlassian.net/wiki/spaces/BCP/pages/3155394563/Code+review+guide+for+vets-api).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QUESTION: Is this only for the API or does this reviewer also include the website as well?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The intent will be the other repos as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mdewey good question. I tried to make this template as generic as possible so it could be for the frontend and backend, but I don't think we're quite there yet. i.e. there's no code review guide for vets website.

@rmtolmach rmtolmach merged commit 865e275 into master Mar 11, 2025
4 checks passed
@rmtolmach rmtolmach deleted the reviewer_guide branch March 11, 2025 20:40
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.

4 participants