CI/CD Pipelines
The starter template includes a comprehensive suite of GitHub Actions workflows designed to automate quality assurance, security checks, and release management. These workflows are pre-configured in .github/workflows.
Continuous Integration
The core CI pipeline (ci.yml) ensures that every change meets the project's quality standards. It is triggered on pushes to main and pull requests to main.
Pipeline Steps
- setupConfigures Node.js 22 and pnpm with caching enabled for faster builds.
- lintRuns
pnpm lintto verify code style and potential errors. - typecheckRuns
pnpm typecheckto validate TypeScript types across the entire project. - testExecutes unit and integration tests via
pnpm test.
Code Quality & Security
Dependency Review
Defined in dependency-review.yml, this workflow scans pull requests for introduced vulnerabilities. It is configured to fail if any dependency with a severity of high or greater is added.
CodeQL Analysis
The codeql.yml workflow performs semantic code analysis using GitHub's CodeQL engine. It runs on pushes, PRs, and a weekly schedule (Wednesdays at 7:27 AM) to identify security vulnerabilities and bugs in your JavaScript and TypeScript code.
Expo Doctor
The expo-doctor.yml workflow runs npx expo-doctor to validate your Expo configuration. It checks for issues with package versions, deep links, and native project configuration. Runs on pushes, PRs, and weekly.
Workflow Automation
Commit Validation
The commitlint.yml workflow enforces Conventional Commits on all pull requests. It validates that the PR title and commits follow the standard format, which is crucial for automated versioning.
1# Valid formats2feat: add dark mode support3fix(auth): resolve token refresh issue4chore: update dependencies56# Invalid formats7added dark mode8fix bug
Release Automation
Release Drafter (release-drafter.yml) automatically drafts GitHub Releases based on merged pull requests. It categorizes changes (Features, Bug Fixes, Chores) and generates a changelog, keeping your release notes up-to-date without manual effort.
PR Labeler
The labeler.yml workflow automatically assigns labels to pull requests based on the files changed. This helps in categorizing PRs (e.g., adding a frontend label if components are modified) and filtering them easily.
Dependency Management
The project includes a dependabot.yml configuration that checks for npm package updates weekly. It automatically opens pull requests to upgrade dependencies, grouped together to minimize noise.
Last updated on 2/10/2026
Edit this page on GitHub