Source Code Automation
February 24, 2020 · View on GitHub
What is source code automation?
How is it beneficial to developers?
What could be automated
- Set up automatic tests that will run on all incoming contributions, and ensure that your tests can be easily be run locally by contributors.
- Require that all code contributions pass your tests before they can be submitted (required status checks).
- If tests are added, make sure to explain how they work in the Contributing file. Don’t make standards too complicated or that they increase barriers to contribution – should relieve developers of repetitive, low brain power work.
- Include automatic tests that can be run locally by developers pre-commit to check for non-public information that is inappropriate for contribution (e.g., tools like cfpb's clouseau or git secrets).
Maintenance work
- Semantic-release automates releases
- mention-bot mentions potential reviewers for pull requests
- Danger helps automate code review
- Issue templates and pull request templates
- Style guides
- Linters
Resources
- GitHub’s Open Source Guide Best Practices for Maintainers
- Required status checks
- GitHub’s Tools for Open Source – software to make running an open source project a little easier
- GitHub’s issue templates and pull request templates
- Semantic-release automates releases
- Kubernetes Development Automation documentation