This document explains the CI/CD pipeline in a way you can use directly with students. Use it as a lecture guide or share it with them as a handout.
A developer writes code on their machine.
Examples:
- Add a new feature
- Fix a bug
- Improve the UI
Then they commit the code.
The developer runs:
git pushThe code goes to a remote repository (e.g. GitHub).
When code is pushed:
- GitHub detects the change
- The GitHub Actions workflow starts
This happens because of the file:
.github/workflows/flutter-ci.yml
No one has to click “Run” — it starts automatically.
The pipeline runs steps like:
- Install dependencies
- Run static analysis
- Run tests
- Build the app
For our Flutter project that means:
flutter pub getflutter analyzeflutter testflutter build
No human intervention required.
The system shows:
- ✅ Build passed
- ❌ Build failed
If something breaks, developers see it immediately (e.g. in the GitHub Actions tab or on the pull request).
Students often confuse these. Keep the distinction simple:
- Means: Automatically build and test code whenever developers push changes.
- Purpose:
- Detect bugs early
- Make sure the code always builds
- Means: Automatically deliver or deploy the application.
- Examples:
- Build APK / IPA
- Upload to a testing environment
- Release to the store
For mobile apps, CD might use tools like Fastlane, Expo EAS, or store deployment pipelines.
In this course we focus on CI (build + test). CD is the next step in real-world teams.
You can tell students:
“CI/CD is like a robot developer that checks our code every time we push changes.”
That analogy usually makes the idea click.
Use this in your lecture:
- Student writes code (e.g. a small change in the app or a test).
- Commit the change.
- Push to GitHub.
- GitHub Actions runs our CI workflow.
- Tests run.
- Build is verified.
- Result is shown in the Actions tab.
During the lecture:
- Make a small commit (e.g.
docs: update READMEor change one line in the app). - Push it.
- Open the Actions tab on GitHub.
- Show the pipeline running live.
That moment usually makes CI/CD click instantly.
Explain that in industry, pipelines often include:
- Build
- Test
- Security scan
- Code quality checks
- Deployment
- Monitoring
So CI/CD becomes the backbone of modern software engineering. Our course pipeline is a simplified version of the same idea.
| Term | Meaning in one line |
|---|---|
| CI | Automatically build and test when code is pushed. |
| CD | Automatically deliver or deploy the app. |
| Workflow | The set of steps defined in .github/workflows/. |
| Actions tab | Where you see runs and results on GitHub. |
For more detail on what runs in this repo, see CI_EXPLANATION.md.