Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Maintain a written project roadmap, discuss in project meetings
  • Create, clarify, and label issues in Github for contributors. Use Github default labels, e.g. use label "good first issue"
    • Consider splitting "good first issue"
    - perhaps split
    • label into
    sub-
    • multiple labels, e.g.
    no experience (100) vs SME but no project experience needed (400
    • "good-first-issue-100-introductory" through "good-first-issue-400-expert" (see Cacti project)
  • Review, triage, comment on, and close inbound Github issues

...

...

  • GitHub Actions is the recommended CI platform, although we need to address the use efficiently due to limits on number of runners, some ideas:

    • BuildJet
    • Use cancel-in-progress to suppress multiple jobs for multiple pushes to the same pull request
    • Uncheck branch protection rule "Require branches to be up to date before merging" to reduce number of runs (potentially add a scheduled run if you are concerned about incompatible PRs getting merged)
    • Use filters to eliminate unnecessary runs, e.g. doc PRs shouldn't require building and testing code.
    • Consider running some jobs on schedule (e.g. nightly) rather than on each pull request (e.g. various full matrix of platform tests)
    • Inspect Github Actions run results on your own fork prior to opening Pull Request
  • Pull request checks

    • DCO - Developer Certificate of Origin

    • Unit tests

    • Integration tests

    • Scans - see Security section, consider running on schedule (e.g. nightly) rather than on each pull request
    • Be wary - just because a change passes checks doesn't mean it is necessarily good, it still requires judicious maintainer review
  • Test coverage reporting - run on-demand or nightly

  • Keep CI clean and green at all times, address failures and flakes
  • See proposed Automated Pipelines task force

...