Skip to content

Conversation

@jeremywiebe
Copy link
Contributor

Summary:

This PR makes a few changes to the Github Actions release workflow to support Trusted Publishing. It removes the NPM_TOKEN is that is not needed (and relieves us from rotating tokens or having insecure, long-lived tokens in use).

It also adds a step to upgrade npm CLI as we need at least v11.5.1 to support OpenID Connect (which is used for Trusted Publishing).

Issue: LEMS-3681

Test plan:

Land this PR and cut a release. All packages are marked with a patch changeset but should not be functionally different than the currently published versions. It will just allow us to ensure trusted publishing is working properly.

@changeset-bot
Copy link

changeset-bot bot commented Nov 13, 2025

🦋 Changeset detected

Latest commit: a277aa6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
@khanacademy/eslint-config Patch
@khanacademy/eslint-plugin Patch
@khanacademy/wonder-stuff-ci Patch
@khanacademy/wonder-stuff-core Patch
@khanacademy/wonder-stuff-i18n Patch
@khanacademy/wonder-stuff-logging Patch
@khanacademy/wonder-stuff-sentry Patch
@khanacademy/wonder-stuff-testing Patch

Not sure what this means? Click here to learn what changesets are.

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

@github-actions
Copy link
Contributor

github-actions bot commented Nov 13, 2025

Size Change: 0 B

Total Size: 4.58 kB

ℹ️ View Unchanged
Filename Size
packages/wonder-stuff-core/dist/browser/es/index.js 1.9 kB
packages/wonder-stuff-sentry/dist/browser/es/index.js 1.58 kB
packages/wonder-stuff-testing/dist/browser/es/index.js 1.1 kB

compressed-size-action

@codecov
Copy link

codecov bot commented Nov 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8972b36) to head (a277aa6).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##              main     #1214   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           52        52           
  Lines          724       724           
  Branches       209       210    +1     
=========================================
  Hits           724       724           

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8972b36...a277aa6. Read the comment docs.

🚀 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.

@jeremywiebe jeremywiebe marked this pull request as ready for review November 13, 2025 19:44
@khan-actions-bot khan-actions-bot requested a review from a team November 13, 2025 19:44
@khan-actions-bot
Copy link
Contributor

khan-actions-bot commented Nov 13, 2025

Gerald

Required Reviewers
  • @Khan/frontend-infra for changes to .changeset/odd-owls-smile.md, .changeset/swift-coats-wonder.md, .github/workflows/release.yml

Don't want to be involved in this pull request? Comment #removeme and we won't notify you of further changes.

Copy link
Member

@somewhatabstract somewhatabstract left a comment

Choose a reason for hiding this comment

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

LGTM

Some inline questions that may mean a change or two is needed before landing.

Comment on lines +34 to +36
id-token: write # required for publishing to npm
contents: write # required to `git push`
pages: write # so we can deploy to GitHub pages
Copy link
Member

Choose a reason for hiding this comment

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

question: Permissions edits are not additive to the defaults but replace them entirely; does this include all the default permissions that would be granted if we were not overriding things?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In the Perseus repo, I see the repo setting is that Actions have read/write permissions for all scopes, by default.

image

I suspect this is what this repo also has. In Perseus, this set of permissions was sufficient, so I think this will work here also. We'll know as soon as we cut a release if I've missed one.

Base automatically changed from jer/package-json-consistency to main November 14, 2025 22:04
@jeremywiebe jeremywiebe force-pushed the jer/trusted-publishing-oidc branch from 5634929 to 58ebf32 Compare November 14, 2025 22:06
@jeremywiebe jeremywiebe merged commit eee3738 into main Nov 14, 2025
8 checks passed
@jeremywiebe jeremywiebe deleted the jer/trusted-publishing-oidc branch November 14, 2025 22:32
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.

4 participants