Last Updated: 2025-01-01
Welcome to the Crankshaft CI/CD documentation. This directory contains comprehensive guides for developers, maintainers, and operators.
- Quality Checks Guide - Code quality scanning, linting, formatting
- Workflow Guide - Overview of all workflows and when they run
- Troubleshooting - Common CI/CD issues and solutions
- Developer Handbook - How developers interact with CI pipeline
- Release Process - Creating stable releases with GitHub Actions
- APT Publishing Guide - Package publishing to APT repository
- Pi-gen Images Guide - Building Raspberry Pi images
- Maintainer Handbook - Advanced workflows and debugging
- Architecture Decisions - Why extend existing workflows vs rewrite
- GitHub Dependency Strategy - Build-time dependency versioning
- Build Flags Verification - build.sh flag compatibility
feature branch push
↓
ci.yml (quality-scan + amd64-only build)
↓
PR checks complete → merge to main
↓
cd.yml (all architectures + APT publish)
↓
nightly APT packages ready
version tag push
↓
release.yml (auto-trigger)
↓
build all architectures → generate release notes → create GitHub release
↓
Pi-gen builds (parallel) → attach images to release
↓
APT publish to stable channel
↓
Release complete
| Phase | Feature | Status | Documentation |
|---|---|---|---|
| 1 | Setup & Dependency Docs | ✅ Complete | This file |
| 2 | Quality Scanning | 🔄 In Progress | quality-checks.md (draft) |
| 3 | Developer Feedback | ⏳ Pending | quality-checks.md |
| 4 | Fast Builds | ⏳ Pending | workflow-guide.md |
| 5 | APT Publishing | ⏳ Pending | apt-publishing.md |
| 6 | Releases | ⏳ Pending | release-process.md |
| 7 | Pi-gen Images | ⏳ Pending | pi-gen-images.md |
| 8 | Manual Control | ⏳ Pending | release-process.md |
| 9 | Polish | ⏳ Pending | All guides complete |
- New to the project? Start with Workflow Guide
- Making code changes? Read Quality Checks Guide
- Creating a release? See Release Process
- Running into issues? Check Troubleshooting
Last Updated: 2025-01-03
Feature: 003-github-actions-cicd
Phase: 1 (Setup)