Skip to content

Conversation

@kinyoklion
Copy link
Member

@kinyoklion kinyoklion commented Nov 18, 2025

This PR moves to OIDC publishing from using token based authentication.

The OIDC integration between npmjs and github only supports a single workflow to publish from. Previously we used two publishing workflows depending on if it was an automated release or manual. Now that we are limited to a single workflow we have to combine these two operations, and that combination constitutes the majority of the changes.

I ran a pre-pre-release of @launchdarkly/js-client-sdk from the rlamb/test-oidc branch.

The run can be seen here:
https://github.com/launchdarkly/js-core/actions/runs/19478232676/job/55743422983


Note

Consolidates automated and manual publishing into a single release-please workflow, switches npm publishing to OIDC, centralizes Node setup, and updates docs.

  • CI/Workflows:
    • Merge manual publishing into ./github/workflows/release-please.yml via workflow_dispatch (adds inputs, prerelease/dry-run) and remove manual-publish.yml.
    • Gate jobs by event type; keep release-* jobs for push-triggered releases.
  • Actions:
    • Add actions/setup-release-node composite to standardize Node 24 and npm 11.6.2.
    • Use setup-release-node in actions/full-release and workflow jobs; remove per-job setup-node steps.
    • Shift npm auth to OIDC; drop token/yarnrc setup from actions/full-release.
    • Keep publish-jsr and publish steps; manual job supports Redis/DynamoDB setup when needed.
  • Docs:
    • Update contributing/publishing.md to describe the unified workflow and manual/automated paths; adjust references to release-please.yml.

Written by Cursor Bugbot for commit 7860383. This will update automatically on new commits. Configure here.

with:
aws_assume_role: ${{ inputs.aws_assume_role }}
ssm_parameter_pairs: '/production/common/releasing/npm/token = NODE_AUTH_TOKEN'
- name: Setup .yarnrc.yml
Copy link
Member Author

Choose a reason for hiding this comment

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

I am reasonably sure this is a remnant from when we used yarn to publish. We moved back to NPM to support provenance. We also need NPM in order to use OIDC.

@github-actions
Copy link
Contributor

@launchdarkly/browser size report
This is the brotli compressed size of the ESM build.
Compressed size: 169118 bytes
Compressed size limit: 200000
Uncompressed size: 789399 bytes

@github-actions
Copy link
Contributor

@launchdarkly/js-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 24988 bytes
Compressed size limit: 26000
Uncompressed size: 122411 bytes

@github-actions
Copy link
Contributor

@launchdarkly/js-client-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 17636 bytes
Compressed size limit: 20000
Uncompressed size: 90259 bytes

@github-actions
Copy link
Contributor

@launchdarkly/js-client-sdk size report
This is the brotli compressed size of the ESM build.
Compressed size: 21981 bytes
Compressed size limit: 25000
Uncompressed size: 75580 bytes

@kinyoklion kinyoklion force-pushed the rlamb/oidc-publishing branch from 2399ec6 to 7860383 Compare November 18, 2025 17:55
if: ${{ needs.release-please.outputs.package-common-released == 'true'}}
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
Copy link
Member Author

Choose a reason for hiding this comment

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

Moved this into a shared action ran from full-release to make it easier to keep things uniform.


- name: Update npm
shell: bash
# Must be greater than 11.5.1 for OIDC.
Copy link
Member Author

Choose a reason for hiding this comment

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

I am hesitant to use latest here. But renovate should keep it updated. But we will have to make sure the versions it wants to use work with the node version we have selected.

@kinyoklion kinyoklion marked this pull request as ready for review November 18, 2025 19:18
@kinyoklion kinyoklion requested a review from a team as a code owner November 18, 2025 19:18
@kinyoklion kinyoklion merged commit abe5e34 into main Nov 18, 2025
39 checks passed
@kinyoklion kinyoklion deleted the rlamb/oidc-publishing branch November 18, 2025 20:28
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.

3 participants