Skip to content

Sdks 4647 Versioning and Publishing flow#34

Merged
pingidentity-gaurav merged 7 commits into
mainfrom
SDKS-4647
Apr 15, 2026
Merged

Sdks 4647 Versioning and Publishing flow#34
pingidentity-gaurav merged 7 commits into
mainfrom
SDKS-4647

Conversation

@pingidentity-gaurav

@pingidentity-gaurav pingidentity-gaurav commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

Add lockstep release tooling with Changesets

Summary

  • Adopts @changesets/cli + @changesets/changelog-github for versioning and publishing
  • Configures a fixed release group so all 9 @ping-identity/* SDK packages always version and publish together
  • Migrates internal @ping-identity/* dependencies from ^0.1.0 to workspace:*
  • Adds scripts/check-lockstep.mjs — CI validator that fails if any package version has drifted from the rest
  • Adds .github/workflows/release.yml — manual workflow_dispatch release workflow with npm provenance signing
  • Adds changeset-check and lockstep-check jobs to CI (changeset-check disabled until first alpha release)
  • Documents the full release process and contributor workflow in CONTRIBUTING.md

Summary by CodeRabbit

  • Chores
    • Configured Changesets-based release automation and added release workflow
    • Added release scripts and lockstep checks; switched internal packages to workspace linking
    • Updated .gitignore to ignore DerivedData and Xcode result bundles
  • CI / Tests
    • Added CI jobs to enforce changeset inclusion and lockstep/version checks
    • Added a lockstep validation script and adjusted a unit test timeout to reduce CI flakiness
  • Documentation
    • Added release process guidance to CONTRIBUTING.md

@pingidentity-gaurav pingidentity-gaurav changed the title Sdks 4647 Sdks 4647 Versioning and Publishing flow Apr 13, 2026
@github-actions

github-actions Bot commented Apr 13, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-04-15 17:46 UTC

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/ci.yml Outdated
@coderabbitai

coderabbitai Bot commented Apr 14, 2026

Copy link
Copy Markdown
Contributor
ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: e3b15ecf-afa6-47da-a6fb-0b2064963f3d

📥 Commits

Reviewing files that changed from the base of the PR and between 5d5577d and 2492fbf.

📒 Files selected for processing (2)
  • .gitignore
  • packages/device-profile/ios/Tests/RNPingDeviceProfileCommonTests.swift
✅ Files skipped from review due to trivial changes (1)
  • .gitignore

📝 Walkthrough

Walkthrough

Adds Changesets-based release tooling: config and initial changeset, CI checks and a release workflow, docs for the release process, workspace dependency linking for internal packages, a lockstep validation script, and small helper and test adjustments to support coordinated versioning and publishing.

Changes

Cohort / File(s) Summary
Changesets & config
\.changeset/config.json, \.changeset/all-singers-arrive.md
Add Changesets configuration and an initial (empty) changeset file.
CI & Release workflows
.github/workflows/ci.yml, .github/workflows/release.yml
Append CI jobs for changeset/lockstep checks and add a manual Release workflow that versions, validates, publishes, and pushes tags.
Docs
CONTRIBUTING.md
New "Release Process" section documenting Changesets usage, mandatory changesets, manual release trigger, and related commands.
Root package & dev deps
package.json
Add release:* npm scripts and devDependencies: @changesets/cli, @changesets/changelog-github.
Lockstep check script
scripts/check-lockstep.mjs
New executable that verifies all publishable packages share an identical version and exits non‑zero on mismatch or if none found.
Workspace dependency linking
packages/.../package.json
packages/browser/package.json, packages/device-id/package.json, packages/device-profile/package.json, packages/journey/package.json, packages/logger/package.json, packages/oidc/package.json, packages/storage/package.json
Change internal dependency specs for @ping-identity/rn-core and @ping-identity/rn-types from ^0.1.0 to workspace:*.
Pre-commit helper
scripts/check-copyright.sh
Add should_skip_file() and skip staged .changeset/*.md files from copyright-header checks.
Ignore patterns
.gitignore
Add DerivedData/ and *.xcresult to ignore Xcode artifacts.
Tests
packages/device-profile/ios/Tests/RNPingDeviceProfileCommonTests.swift
Increase XCTest wait timeout from 2s to 5s for a specific test expectation.

Sequence Diagram

sequenceDiagram
    actor Developer
    participant GH as GitHub Actions
    participant Repo as Git Repository
    participant CI as Runner (Node/Yarn)
    participant Build as Package Build
    participant NPM as NPM Registry

    Developer->>GH: trigger release (workflow_dispatch)
    GH->>Repo: checkout (fetch-depth: 0)
    GH->>CI: setup Node, yarn install
    CI->>Repo: run `yarn release:version` (changeset version) — update package files
    CI->>CI: run `yarn release:check-lockstep` (scripts/check-lockstep.mjs)
    CI->>Repo: commit & push version/CHANGELOG files
    CI->>Build: run `yarn packages:build`
    CI->>NPM: run `yarn release:publish` (changeset publish)
    NPM-->>CI: publish response
    CI->>Repo: git push --follow-tags
    GH-->>Developer: release complete
Loading

Estimated Code Review Effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 I nibbled configs, tangled scripts with care,
I hopped through workflows, left a changelog spare,
Lockstep drums beat, packages line in rank,
I tossed a tiny carrot on the CI flank. 🥕


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

@tsdamas tsdamas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tsdamas tsdamas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@rodrigoareis rodrigoareis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@codecov

codecov Bot commented Apr 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.23%. Comparing base (e2a5d1b) to head (2492fbf).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #34      +/-   ##
============================================
+ Coverage     57.47%   59.23%   +1.75%     
- Complexity        0       71      +71     
============================================
  Files            16      120     +104     
  Lines           863     9954    +9091     
  Branches        157      412     +255     
============================================
+ Hits            496     5896    +5400     
- Misses          326     4004    +3678     
- Partials         41       54      +13     
Flag Coverage Δ
android 10.87% <ø> (?)
ios 68.75% <100.00%> (?)
javascript 56.94% <ø> (-0.53%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pingidentity-gaurav pingidentity-gaurav merged commit 7a10005 into main Apr 15, 2026
25 of 28 checks passed
@pingidentity-gaurav pingidentity-gaurav deleted the SDKS-4647 branch April 15, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants