VA.gov uses a Continuous Integration process, which consists of the following steps:
Write
Determine which issue to work on
Create feature branch
Code new functionality
Write tests for new functionality
Test new functionality on supported browsers (Chrome, IE, Safari, Edge)
Review
Submit pull request
Run unit tests and compliance scans (kicked off when a pull request is created)
Test feature on review instance (page link is available on the PR page)
Test and peer review code (read: code review)
Deploy
Merge code to stable code base
Github Actions automatically deploys changes merged into main
to staging and dev
Github Actions automatically deploys main to production every day
Each project's code base has a branch called main
by default. Anything in main
is deemed to be stable and deployable. This means that anything you merge will need to be ready to immediately be live or hidden in some way behind a feature flag.
Merge changes when support can be provided. Avoid merging significant changes at the end of the day or before the weekend.
References
GitHub Flow
Help and feedback