- Team agreed that our testing criteria is Linux
- Best effort to make sure it works on Windows and Mac, but not required
- Code changes reviewed & signed off
- Existing documentation is updated (readme, .md's)
- New documentation needed to support the change is created
- Code changes checked into main
- All existing automated tests (unit and/or e2e) pass successfully, new tests added as needed
- CI completes successfully
- CD completes successfully
- Smoke test production deployment for minimum of 2 weeks
- New changes in smoke test for 48hrs (ongoing)
- Create task for required artifacts
Engineering Playbook Definition of Done
- Root readme will have a project overview, Table of Contents (ToC), and a Getting Started section.
- Each top-level component or project folder should have a README for it scope
- High-level documentation (e.g., solution architecture) should be stored in the /docs folder
- Use markdownlint add-in for VS Code
- Repeating header lint issues are OK if avoiding would cause readability issues
- Use Code Spell Checker add-in for VS Code
- Use
-
for unordered lists; mixing-
and*
will cause linter errors - Use single back-quote to
call out terms
- Add a blank line before and after ''' for visualization
- Triple tick (''') blocks must specify a language for color coding
- Preview the MD to make sure it renders in a highly readable format
- Headers
- Keep headers concise
- Use call-out ">" for subtitles where longer header needed
- use call outs (>) to emphasize important points
- CodeFlow extension for GitHub Link
All net-new issues need to be triaged, leverage Notes for discussions points as needed
- Create the issue in the appropriate repo with the appropriate template
- Add project to the issue (i.e. ngsa, ngsa-cd)
- this will add to the main board
- necessary for multi-repo project like NGSA
- Add all relevant tags (language, enhancement, bug, design review, etc)
- Do not add Size, Priority, Milestone, or Assignee
- All issues will be triaged at the end of the Stand-up call
- Add an "undo issue" for any temporary changes that need to be removed in the future
Once issue has been triaged, move into the Backlog
- Once issue is triaged, add the appropriate priority label and other tags as appropriate
- Do not add size, milestone or assignee
Issues identified during milestone planning will be shifted into Milestone backlog
- Need to review and update priority and add estimated sizing and milestone labels
Issues that the Dev Team is actively working on
- Add assignee, size, and milestone tags & ensure all relevant tags are added
- If a design review is required, schedule meeting when moving issue to backlog
- If task is bigger than "Size:L", break into smaller tasks to ensure completion during week sprint
Pull Requests to create or update code, documentation, templates, etc and issues that need reviewed
- Complete the PR Template (ensure original issue is closed or referenced)
- Assign reviewers, assign yourself, add Project board, and Milestone
- If issue has multiple issue to close and/or reference, report each reference/close # on separate line to ensure correct link
- Issue is completed, no further action required
- Ensure task checklist is complete
During the final sprint of the milestone, create a burn down column for issues pivotal to achieve goals
A mini-cloud on your Mac or Windows workstation.
multipass is really cool!
setup instructions are in the repo