github-actions
Orchestrate CI/CD pipelines with GitHub Actions for Flutter apps. Use when setting up quality gates, automated builds, semantic versioning, code signing, or deployment workflows.
Works with
---
name: github-actions
description: Orchestrate CI/CD pipelines with GitHub Actions for Flutter apps. Use when setting up quality gates, automated builds, semantic versioning, code signing, or deployment workflows.
license: MIT
---
# GitHub Actions Pipeline
- Use GitHub Actions as the primary CI/CD platform
- Trigger on `push` to `main` and on all Pull Requests
- Pipeline MUST include these stages in order:
## Stage 1: Quality Gate
```yaml
- 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-infos` ensures no info-level issues pass
- Format check MUST use `--set-exit-if-changed` to enforce consistent formatting
## Stage 2: Build
```yaml
- 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 prod` and `--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:
```yaml
- 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 `PATCH` for bug fixes, `MINOR` for features, `MAJOR` for breaking changes
- Set version in `pubspec.yaml`: `version: 1.2.3+45`
- The `+BUILD` number 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 `*.mobileprovision` files
# 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`)More Deployment & CI/CD skills
azure-enterprise-infra-planner
microsoft/azure-skills
Architect and provision enterprise Azure infrastructure from workload descriptions. For cloud architects and platform engineers planning networking, identity, security, compliance, and multi-resource topologies with WAF alignment. Generates Bicep or Terraform directly (no azd). WHEN: 'plan Azure infrastructure', 'architect Azure landing zone', 'design hub-spoke network', 'plan multi-region DR topology', 'set up VNets firewalls and private endpoints', 'subscription-scope Bicep deployment', 'Azure Backup for VM workloads'. PREFER azure-prepare FOR app-centric workflows.
azure-kubernetes-app-deploy
microsoft/azure-skills
Use when deploying an existing web application or API to an already-running Azure Kubernetes Service cluster. Detects the framework, generates a Dockerfile and Kubernetes manifests, validates against AKS Deployment Safeguards, and deploys with verification. WHEN: deploy app to AKS, deploy to existing AKS cluster, containerize app for Kubernetes, generate K8s manifests for Azure, set up CI/CD for AKS, my AKS deployment is failing safeguard checks, I have a Django/Express/Spring Boot app to run on AKS. DO NOT USE FOR: creating or provisioning an AKS cluster (use azure-kubernetes), assessing migration to AKS Automatic (use azure-kubernetes-automatic-readiness), or deploying to non-AKS targets like Web Apps, Container Apps, or Functions.
finetuning
microsoft/azure-skills
Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).

