GitHub Actions Pipeline
SkillCloud & infraUse when creating or updating GitHub Actions CI/CD workflows for automated testing, static analysis, and artifact deployment.
Use GitHub Actions Pipeline in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add GitHub Actions Pipeline and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the GitHub Actions Pipeline skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by dhruvanbhalara/skills in skills/github/github-actions/SKILL.md and read by ahel’s review.
- Use GitHub Actions as the primary CI/CD platform
- Trigger on
pushtomainand on all Pull Requests - Pipeline MUST include these stages in order:
Stage 1: Quality Gate
- name: Analyze
run: flutter analyze --fatal-infos --fatal-warnings
- name: Format Check
run: dart format --set-exit-if-changed .
- name: Run Tests
run: flutter test --coverage
- Zero warnings policy:
--fatal-infosensures no info-level issues pass - Format check MUST use
--set-exit-if-changedto enforce consistent formatting
Stage 2: Build
- name: Build APK
run: flutter build apk --flavor prod --dart-define-from-file=config/prod.json --release
- name: Build IPA
run: flutter build ipa --flavor prod --dart-define-from-file=config/prod.json --release --export-options-plist=ios/ExportOptions.plist
- Always build with
--flavor prodand--dart-define-from-file=config/prod.json - Use a single
main.dart: do NOT pass-t lib/main_prod.dart
Stage 3: Deploy (on main merge only)
- Upload to Firebase App Distribution for internal testing
- Upload to Google Play Internal Track / TestFlight for staging
- Production release requires manual approval gate
Caching Strategy
To optimize build speeds, cache dependencies in your GitHub Actions workflows:
- name: Cache Flutter dependencies
uses: actions/cache@v4
with:
path: |
~/.pub-cache
.dart_tool
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
${{ runner.os }}-pub-
- name: Cache iOS/macOS Native dependencies (SPM & CocoaPods)
uses: actions/cache@v4
with:
path: |
~/Library/Caches/org.swift.swiftpm
~/Library/Developer/Xcode/DerivedData
ios/Pods
key: ${{ runner.os }}-native-${{ hashFiles('ios/Podfile.lock', '**/pubspec.yaml') }}
restore-keys: |
${{ runner.os }}-native-
Versioning Strategy
- Follow Semantic Versioning:
MAJOR.MINOR.PATCH+BUILD - Bump
PATCHfor bug fixes,MINORfor features,MAJORfor breaking changes - Set version in
pubspec.yaml:version: 1.2.3+45 - The
+BUILDnumber MUST auto-increment in CI (use build number from CI environment)
Code Signing
- Store signing keys and certificates in GitHub Secrets (never in repo)
- Android: Store keystore as base64-encoded secret, decode in CI
- iOS: Use App Store Connect API key for automated signing
- NEVER commit
*.jks,*.keystore,*.p12, or*.mobileprovisionfiles
PR Requirements
- All PRs MUST pass: analysis (0 warnings), formatting, and tests before merge
- Require at least 1 code review approval
- Branch protection on
main: no direct pushes, require status checks
Release Checklist
- Version bumped in
pubspec.yaml - CHANGELOG.md updated
- All tests passing on CI
- Build succeeds for both Android and iOS
- Tested on physical device with production flavor
- Git tag created matching version (
v1.2.3)
Signals
- GitHub stars
- 30
- Forks
- 4
- Last commit
- Aug 2026
ahel review
S4info
community integration, published by dhruvanbhalara, not github
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
github-actions-dhruvanbhalara- Source
- github.com/dhruvanbhalara/skills
github.com/dhruvanbhalara/skills
Related picks
Skill · emilkowalski
The pick for Swiftswift-concurrency-expert
Skill · davila7
The pick for Swiftdeveloping-genkit-dart
Skill · evanca
The pick for Dartwrite-dart
Skill · cfug
The pick for Dartflutter-auto-route-navigation
Skill · hoangnguyen0403
The pick for Fluttererror-tracking-flutter
Skill · posthog
The pick for Flutter