Skip to content

Conversation

@Saadnajmi
Copy link
Collaborator

AI generated PR to mirror rnx-kit's publish workflow for FURN. Work in progress..


This commit implements a hybrid approach that mirrors rnx-kit's changesets workflow while keeping Azure Pipelines for NPM publishing.

Architecture:

  • GitHub Actions: Version bump PR creation using @changesets/action
  • Azure Pipelines: NPM publishing (compliance-friendly)
  • GitHub App token: Bypasses org PR restrictions (like rnx-kit)

Changes:

  • Add changesets dependencies (@changesets/cli, @changesets/changelog-github)
  • Create .changeset/config.json (mirrors rnx-kit configuration)
  • Create GitHub Actions workflow for version bumps
  • Update Azure Pipelines to use 'changeset publish'
  • Add comprehensive setup documentation

Key features:

  • Uses official @changesets/action (battle-tested)
  • Preserves dependency-profiles postbump hook
  • Maintains Azure KeyVault integration for NPM token
  • Keeps all 1ESPT compliance and security measures
  • No prepublish hook needed (packages have proper exports field)

Setup required:

  1. Configure GitHub App (react-native-sdk-bot or new app)
  2. Add APP_ID variable and PRIVATE_KEY secret
  3. See CHANGESETS_SETUP.md for detailed instructions

References:

  • rnx-kit workflow pattern
  • Plan: /Users/sanajmi/.claude/plans/stateless-jumping-unicorn.md

Platforms Impacted

  • iOS
  • macOS
  • win32 (Office)
  • windows
  • android

Description of changes

(a summary of the changes made, often organized by file)

Verification

(how the change was tested, including both manual and automated tests)

Before After
Screenshot or description before this change Screenshot or description with this change

Pull request checklist

This PR has considered (when applicable):

  • Automated Tests
  • Documentation and examples
  • Keyboard Accessibility
  • Voiceover
  • Internationalization and Right-to-left Layouts

This commit implements a hybrid approach that mirrors rnx-kit's changesets
workflow while keeping Azure Pipelines for NPM publishing.

Architecture:
- GitHub Actions: Version bump PR creation using @changesets/action
- Azure Pipelines: NPM publishing (compliance-friendly)
- GitHub App token: Bypasses org PR restrictions (like rnx-kit)

Changes:
- Add changesets dependencies (@changesets/cli, @changesets/changelog-github)
- Create .changeset/config.json (mirrors rnx-kit configuration)
- Create GitHub Actions workflow for version bumps
- Update Azure Pipelines to use 'changeset publish'
- Add comprehensive setup documentation

Key features:
- Uses official @changesets/action (battle-tested)
- Preserves dependency-profiles postbump hook
- Maintains Azure KeyVault integration for NPM token
- Keeps all 1ESPT compliance and security measures
- No prepublish hook needed (packages have proper exports field)

Setup required:
1. Configure GitHub App (react-native-sdk-bot or new app)
2. Add APP_ID variable and PRIVATE_KEY secret
3. See CHANGESETS_SETUP.md for detailed instructions

References:
- rnx-kit workflow pattern
- Plan: /Users/sanajmi/.claude/plans/stateless-jumping-unicorn.md

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Saadnajmi and others added 4 commits February 10, 2026 10:29
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
Add two layers of changeset validation:

1. Changeset Bot (already installed):
   - Automatically comments on PRs
   - Provides immediate visual feedback
   - Shows status: '⚠️ No Changeset' or '✅ Changeset detected'

2. GitHub Actions PR validation (new):
   - Enforces changesets in CI/CD
   - Fails PR checks if no changeset present
   - Automatically skips for version bump PRs
   - Shows helpful error message with instructions

Changes:
- Add .github/workflows/pr-validation.yml
- Add 'checkchange:changeset' script to package.json
- Update CHANGESETS_SETUP.md with validation details

Both mechanisms work together to ensure all PRs include changesets
while providing clear feedback to developers.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…/fluentui-react-native into changesets-hybrid-mirrornx-kit
@changeset-bot
Copy link

changeset-bot bot commented Feb 10, 2026

⚠️ No Changeset found

Latest commit: d790509

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

💥 An error occurred when fetching the changed packages and changesets in this PR
Some errors occurred when validating the changesets config:
The package or glob expression "@fluentui-react-native/fluent-tester" is specified in the `ignore` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.
The package "@fluentui-react-native/dependency-profiles" depends on the ignored package "@fluentui-react-native/tester", but "@fluentui-react-native/dependency-profiles" is not being ignored. Please add "@fluentui-react-native/dependency-profiles" to the `ignore` option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants