Skip to content

Add GitHub Actions CI/CD pipelines #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 12, 2025
Merged

Conversation

graycreate
Copy link
Member

Summary

  • Add comprehensive GitHub Actions workflows for automated CI/CD
  • Improve development workflow with automated testing and deployment

Workflows Added

1. iOS Build and Test (ios-build-test.yml)

  • Automatically builds and tests on push to main/develop
  • Runs on pull requests to ensure code quality
  • Caches dependencies for faster builds

2. PR Validation (pr-validation.yml)

  • SwiftLint code analysis
  • Automatic PR size labeling
  • Conventional commit message validation

3. Release Pipeline (release.yml)

  • Manual trigger for App Store releases
  • Supports major/minor/patch versioning
  • Automated TestFlight uploads
  • GitHub release creation

4. Dependency Updates (dependency-update.yml)

  • Weekly automated dependency checks
  • Security vulnerability scanning
  • Creates PR with updates automatically

5. Code Quality (code-quality.yml)

  • SwiftFormat checking
  • Code coverage reporting
  • PR comments with metrics

Setup Required

Before these workflows can run, you'll need to add the following secrets to the repository:

Essential Secrets:

  • CERTIFICATES_P12 - Distribution certificate (base64 encoded)
  • CERTIFICATES_PASSWORD - Certificate password
  • PROVISIONING_PROFILE_BASE64 - Provisioning profile (base64 encoded)
  • TEAM_ID - Apple Developer Team ID
  • APP_STORE_CONNECT_API_KEY_ID - For TestFlight uploads
  • APP_STORE_CONNECT_API_KEY_ISSUER_ID - API issuer ID
  • APP_STORE_CONNECT_API_KEY - API key content

Optional:

  • GIST_SECRET - For coverage badge generation

Benefits

  • ✅ Automated testing on every PR
  • ✅ Consistent code quality checks
  • ✅ Streamlined release process
  • ✅ Automated dependency management
  • ✅ Better visibility into code health

🤖 Generated with Claude Code

Add automated workflows for iOS development:
- Build and test workflow for continuous integration
- PR validation with SwiftLint and commit checks
- Automated release pipeline for App Store deployment
- Weekly dependency updates with security scanning
- Code quality checks with coverage reporting

These workflows will improve development efficiency and code quality.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Update deprecated actions/upload-artifact from v3 to v4
- Update Xcode version to 15.4 (available on runners)
- Remove OS version from iOS Simulator destination
- Add xcpretty installation step where needed

These changes fix the failing CI/CD pipelines.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@github-actions github-actions bot added size/XL and removed size/XL labels Jul 12, 2025
- Add error handling for missing test results
- Make coverage badge creation conditional on secret availability
- Fix coverage percentage parsing in PR comment
- Use dynamic GIST_ID from secrets instead of placeholder

The workflow now gracefully handles cases where:
- No test results exist (sets coverage to 0%)
- Gist secrets are not configured (skips badge creation)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@github-actions github-actions bot added size/XL and removed size/XL labels Jul 12, 2025
Copy link

Code Coverage Report ❌

Current coverage: 20.2%

@graycreate graycreate merged commit 75280c0 into main Jul 12, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant