Note: This document is for YouVersion team members. External contributors should submit PRs with conventional commits - releases happen automatically.
Releases happen automatically via CI when PRs are merged to main.
What triggers a release:
feat:→ MINOR bump (0.5.0 → 0.6.0)fix:,perf:,refactor:→ PATCH bump (0.5.0 → 0.5.1)BREAKING CHANGE:orfeat!:→ MAJOR bump (0.5.0 → 1.0.0)
What does NOT trigger a release:
docs:,style:,test:,build:,ci:,chore:
Use when you need manual control over release timing. Since main branch requires PRs, use this workflow:
# Set up environment
export GITHUB_TOKEN=your_token
export NPM_TOKEN=your_token
# Run helper script
./scripts/release-local.shThe script will preview, publish, and create a PR for you to merge.
# 1. Create release branch
git checkout main && git pull
git checkout -b release/prepare
# 2. Preview (from main)
git checkout main && npm run release:dry-run
git checkout release/prepare
# 3. Create config
cat > .releaserc.local.json << 'EOF'
{"extends": "./.releaserc.json", "branches": ["main", {"name": "release/*", "channel": false}]}
EOF
# 4. Release and publish to npm
npx semantic-release --extends ./.releaserc.local.json
# 5. Push and create PR
git push origin release/prepare --tags
gh pr create --base main --title "chore(release): x.y.z"
# 6. Get approval and merge PR
# 7. Cleanup
git checkout main && git pull
git branch -D release/prepare
rm .releaserc.local.jsonNote: Package publishes to npm in step 4, before PR merge. This is intentional.
No commits since last release warrant a version bump. Check:
git log $(git describe --tags --abbrev=0)..HEAD --onelineexport GITHUB_TOKEN=your_tokenHave your authenticator app ready during the publish step.
Last Updated: 2025-11-19