Introduction

When a developer completes a story, they create a PR (pull request) in Github. This notifies the team that their work is ready for review. This review involves making sure the work meets the acceptance criteria defined in the Jira story, passes automated tests, and matches the expected visual design. PRs can require review from engineers, product managers and designers. This is a key step in the process to ensure we are only accepting clean, bug-free code that creates the value we intended and doesn’t introduce new problems.

If the work meets all the criteria, reviewers will approve the PR and it will be merged into main and pushed to staging.

Sometimes, a team member may notice something in the code that needs to be addressed, some unexpected behavior caught in testing the app, or something about the UI doesn’t look right.

In that case, the reviewer who found the issue will leave a comment on the PR in Github or reach out directly to the engineer to talk through the issue. The engineer will make any necessary changes and request review again when ready.

Getting Set Up to Review PRs

Github/Repo Access

As part of onboarding, you will be added as a user to Github repositories for this project. When you are added, you will suddenly start to get 1 million emails (approximately) every day from Github. We recommend turning off email notifications and using the Slackbot to get a daily digest of PRs that need a design review.

Turn off Github email notifications

Navigate to your notification settings using this link: https://github.com/settings/notifications. Uncheck “email” under Participating, Watching, and Github Actions. You can also uncheck the email alerts under Dependabot alerts.

Set up the Github Slackbot

Use this link: https://github.com/settings/reminders/USSF-ORBIT. Select the day/time that you want to receive a message in Slack with a list of PRs needing review (many of us like to receive this first thing in the morning to know what’s on our plate for the day). Check the boxes for “Review requests assigned to you” and “Review requests assigned to your team.”

The messages will come through under “Apps” in the sidebar of Slack.

Joining the Truss-Design group on Github

During onboarding, you should have been added to the Truss-Design group on Github. If you do not think this has happened, let MilMove Infrasec know. This will make it easier for engineers to more easily request a review from the design team without having to check off all of our names individually. This group is also automatically requested for review, and required, if any visual/design changes are detected.

https://lh6.googleusercontent.com/DUUhNsn9ge2teGRPXuUp0xMKAyQRYLMGByeb0c8uGMBCE6Zd6d70sxaMeQk_mygA0flKebHRzAIY2SrpiFO9ly9GnP3v1dUUHLbQzqTd6R8YTj5urxaDpKLBmK-EpoMZfJM2bnduSlctu-W1XpcdHvXTzNcPQewM-evu8DP_LkCsfm0PWxmGh6nVrA

Happo

Happo is a visual regression testing platform we have integrated into the project to help keep track of the impact a code change might have on our design system in production. It will automatically run a test to detect any visual changes a PR might make to the components and design system elements we track in Storybook. Happo takes screenshots of all of our components in Storybook and compares differences against its collection of screenshots of what the main branch looks like with each PR. It is integrated with Github, so when an engineer creates a PR, it generates a Happo report. During onboarding, ask to pair with someone doing a PR review to get an introduction to Happo and how to use it.

https://lh4.googleusercontent.com/i_imRggob1k2hwPiJKczfZR9sHbbRYXGEUhA5ufqUtPOd2rVUjv0xDfDmVoWgSgtrLqeogg4qX0Q3GofFX0uS89EVzAAGrRb-9YMINiuOkyuOPcSVcIz0NqgYYYjNcfT2jK9K2ZZaGC3wAb7McvguKFy7aAdmVFs1hUxkpKxdhdhtC2T2Cvf8fm7_g

https://lh4.googleusercontent.com/qXmkExulMtCIbUH-mw6QWQGu0MWhOS7638JymvAKmmpMfxEjh4KUsrWcjbRPEiiRdNB5Gv77kX7BNMsC6bdi1RIxYjHnKyxL-Hd8RK9MSFl5LcwOeL53lcSCegBMjzZEOf2ZFfrivjhwbRu-oIitEUIRISdCME1vnZcNqFSGzVF3N1QsUjI5hPAdww