Skip to content

feat: implement comprehensive CI/CD pipeline - #1

Merged
CowboyGH merged 13 commits into
developfrom
ci-cd
Dec 14, 2025
Merged

CowboyGH merged 13 commits into
developfrom
ci-cd

Conversation

@CowboyGH

@CowboyGH CowboyGH commented Dec 9, 2025 •

Copy link
Copy Markdown
Owner

🚀 Summary

Implemented an automated CI pipeline in GitHub Actions for Flutter with code quality checks and reproducible builds for Android (via Docker) and iOS (via macOS runner).
The pipeline generates build artifacts (APK + unsigned IPA) on each run and publishes them to GitHub Actions artifacts for convenient download.

✨ What's Added / Changed

  • ✅ Workflow: Full GitHub Actions configuration (.github/workflows/main.yml) with 3 jobs: analyze → build-android + build-ios.
  • ✅ Android: Docker-based build that builds locally on the runner and extracts APKs from the built image (no registry push).
  • ✅ iOS: Native build on macos-latest producing an unsigned IPA for testing.
  • ✅ Quality: flutter pub get → build_runner → formatting verification (dart format --set-exit-if-changed) → flutter analyze → tests with coverage.

🛠 Build Process

  • Analysis job: Runs formatting checks, analyzer, and tests; uploads coverage artifact (if present).
  • Android job: Builds a Docker image with push: false and load: true so the image stays on the runner for docker create/docker cp APK extraction.
  • iOS job: Builds iOS app without code signing and packages Runner.app into an unsigned .ipa for testing.

🧪 Verification

  • Verify analyze job passes: formatting check, flutter analyze, tests (coverage artifact created if available).
  • Verify Android artifacts are uploaded (APK files extracted from Docker image).
  • Verify iOS artifact is uploaded (unsigned IPA).
  • Confirm there is no Docker Hub push logic (pipeline is artifact-based, not registry-based).

- Add multi-stage Dockerfile for Android APK build
- Configure Flutter 3.38.4 and Android SDK 35
- Add .dockerignore for build optimization
- Support for armeabi-v7a, arm64-v8a, x86_64 architectures
- Update .gitignore to include Docker & APK related files
- Add code analysis job with formatting, analyze, and tests
- Add Android build job with Docker and DockerHub integration
- Add iOS build job with macOS runner
- Configure GitHub Actions cache for faster builds
…irebase configuration and update configuration file creation steps
…hase and remove unused outputs from Android job
@CowboyGH

Copy link
Copy Markdown
Owner Author

I'm tired...

@CowboyGH CowboyGH self-assigned this Dec 11, 2025
@CowboyGH
CowboyGH merged commit 4ca3de2 into develop Dec 14, 2025
3 checks passed
@CowboyGH
CowboyGH deleted the ci-cd branch December 14, 2025 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant