This file explains what CI is and how it works in this repository.
Continuous Integration (CI) means we automatically run checks every time code changes.
Instead of waiting until the end of the week (or the end of the project) to find problems, CI helps us find problems early.
GitHub Actions is a tool inside GitHub that runs automated workflows.
Workflows are defined in YAML files inside:
.github/workflows/
When you:
- push to
main, or - open/update a pull request (PR) targeting
main
GitHub Actions runs our Flutter CI workflow.
In this repository, the workflow:
- Checks out the code
- Installs Flutter
- Runs
flutter pub get - Runs
flutter analyze - Runs
flutter test - Attempts to build the app
If all steps pass, the run is green. If any step fails, it is red.
In real software teams:
- many people change the same codebase
- mistakes happen (even to experienced developers)
Automated tests and builds help teams:
- catch errors before merging code
- keep the
mainbranch stable - release software with more confidence
CI does not guarantee “no bugs”, but it catches many common problems early (broken builds, failed tests, analysis warnings/errors).
For lecturers: A longer teaching guide with the full CI/CD flow, CI vs CD, and live-demo tips is in CICD_FOR_STUDENTS.md.