Skip to content

Grace Hopper OS Example

Presentation Slides

Initial Set-Up/Bootstrapping:

Documentation

  • Readme
    • Provides information/instructions about project
  • Owners
    • Roles that certain users have in repository
  • Contributing
    • Guidelines for contributions
  • Changelog
    • Record of important changes made to project
  • RoadMap
    • Give users an idea of where project is going
  • Security
    • Allow users to report security issues without compromising project
  • License
  • MkDocs/Markdown
    • Static site generator for documentation

Continuous Integration (CI)

  • Docker registry
  • Github Actions

Code Coverage

  • Determines number of lines in code validated by existing tests
  • Used to enforce testing protocols

Bots

  • CLA or DCO
    • Contributors must sign agreement allowing project to use their contributions
    • Bot enforces that agreement signed for each PR
  • Stale Bot
    • Deal with old/abandoned PRs
  • Linter
    • Enforces code formatting for each PR
  • Semantic Pull Requests
    • PR titles must have detailed info
    • Easily filter commits for CHANGELOG.md

Test Framework

  • Create robust unit/e2e tests
    • Avoid bugs
    • Ensure that contributors' changes pass existing tests
  • Require contributors to test their changes

Maintenance

Daily Stand-Up Meeting:

  • Necessary to regularly review new issues/PRs
    • Review OSS issues or PRs opened in the last working day, so we do not miss anything.
    • Review owned issues, maybe reassign or disown.
    • Review open PRs, so we agree that it should be done or do not forget about them.