-
-
Notifications
You must be signed in to change notification settings - Fork 724
Continuous Integration
Continuous Integration testing (CI) ensures that all automated tests are run each time somebody pushes code to the GitHub repository. We are currently using GitHub Actions to run our test suite. The tests should run automatically on your fork and on any PR that you submit.
The CI actions will create a temporary merge of your branch into master for testing. (This ensures we're testing the potential outcome of merging, instead of an outdated branch. It also enables testers to re-trigger CI and get the latest results without rebasing the branch.) This means the test results may vary from your development environment. If you have a failure in CI, make sure to rebase on the latest master branch before investigating.
Buildkite provides a nice user interface to manage your own CI servers. The Australian team uses it a bit differently. We use the user interface to trigger deployments to staging and production servers. It uses the Github API to check if other CI runs were successful. It is a paid service. See Deployment with Buildkite for more information.
Development environment setup
- Pipeline development process
- Bug severity
- Feature template (epic)
- Internationalisation (i18n)
- Dependency updates
Development
- Developer Guidelines
- The process of review, test, merge and deploy
- Making a great commit
- Making a great pull request
- Code Conventions
- Database migrations
- Testing and Rspec Tips
- Automated Testing Gotchas
- Rubocop
- Angular and OFN
- Feature toggles
- Stimulus and Turbo
Testing
- Testing process
- OFN Testing Documentation (Handbooks)
- Continuous Integration
- Parallelized test suite with knapsack
- Karma
Releasing
Specific features
Data and APIs
Instance-specific configuration
External services
Design