Continuous Integration
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily, leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
→ Use Travis CI please
- There’s also Jenkins and CircleCI
Running on GPU https://github.blog/changelog/2023-10-31-run-your-ml-workloads-on-github-actions-with-gpu-runners/
From ECE459 L34
Every commit triggers: pull → build → test → report. Results pushed to email/Slack/Teams.
Nightly builds belonged to an era of slow, expensive builds. With version control, good tests, and scripted deployments, that’s gone: each change (or related group) is built and tested automatically. Social convention: don’t break the build.