Skip to content

Conversation

Ansonhkg
Copy link
Collaborator

@Ansonhkg Ansonhkg commented Aug 15, 2025

WHAT

Automated CI testing and changeset-based publishing

Impacts

  • Merges to naga branch automatically publish beta versions when changesets exist
  • Eliminates manual publishing steps while maintaining strict release control
  • Ensures all releases pass full test suite including multi-environment E2E validation

Release Scenarios

Scenario 1 - adding a new feature

say you're adding a oAuth provider support:

# 1. create feature branch from naga
git checkout -b feature/oauth-provider-support

# 2. write your code
# ... blablabla

# 3. create changeset for your changes
bun run changeset

# then changeset gonna prompt which packages you would like to include:
# > auth
# what type of change is this for auth? > minor (new feature)

# please enter summary
# write code / usage examples

# 4. Commit your changeset WITH your code
git add .
git commit -m "feat(auth): add OAuth provider support"
git push 

What happens:
✅ Beta release published automatically to NPM with @beta tag
✅ Team can test the new feature: bun add @lit-protocol/auth@beta

Scenario 2 - experiment feature

# 1. Work on feature branch but DON'T merge to naga yet
git checkout -b experiment/blockchain-integration

# 2. Write code + create changeset
bun run changeset
# Which packages? › networks
# Type: minor  
# Summary: › 
# EXPERIMENTAL: Added preliminary blockchain integration support
# 
# ⚠️ This is highly experimental and WILL change significantly
# DO NOT use in production or even staging environments

# 3. Get alpha release for testing (manual)
# Go to GitHub Actions → Release → Run workflow
# Branch: experiment/blockchain-integration
# Release type: alpha
# 🚀 Publishes: @lit-protocol/[email protected]

Scenario 3 - docs / non-package changes

# 1. Make documentation changes
git checkout -b docs/update-readme

# 2. DON'T create a changeset (no package changes)
git commit -m "docs: update installation instructions"
git push origin docs/update-readme

# 3. Create PR → naga, get it merged
# 🤖 CI runs build/test validation
# ✅ No changesets found - skipping release 

Scenario 4 - Emergency Release

# 1. Emergency fix already merged to naga
# But maybe CI failed or you need to trigger manually

# 2. Go to GitHub repository
# Actions → Release → Run workflow

# 3. Select options:
# Branch: naga
# Release type: beta

# 4. Manual release triggers
# 🤖 Runs full CI validation + publishes beta release

Release flow

Feature Branch → PR → naga (beta) 
     ↑              ↑         ↑     
  changeset    CI validation  auto-beta 

…IT-Protocol/js-sdk into feature/jss-40-naga-changeset-pipeline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant