Skip to content

Conversation

@tenphi
Copy link
Member

@tenphi tenphi commented Dec 12, 2025

Note

Move to npm Trusted Publishing (OIDC), consolidate canary/release into a single publish workflow, adjust PR CI, and update docs; also normalize repository URL.

  • CI/CD:
    • Publish workflow: publish.yml now handles canary (on PR) and releases (on push to main), adds OIDC auth/provenance, concurrency control, and Chromatic deploy on non-publish pushes.
    • PR workflow: pull-request.yml now runs tests/lint and Chromatic staging; adds a no-op build-canary-status to satisfy checks. Canary publish moved into publish.yml.
    • Removed: main.yml (release workflow) deleted.
  • Docs:
    • Update .github/PUBLISHING.md with trusted publishing setup, benefits, troubleshooting, and workflow consolidation details.
  • Package metadata:
    • Normalize repository.url to git+https://....

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

@changeset-bot
Copy link

changeset-bot bot commented Dec 12, 2025

⚠️ No Changeset found

Latest commit: 9adeca4

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.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

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

@vercel
Copy link

vercel bot commented Dec 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
cube-ui-kit Ready Ready Preview, Comment Dec 16, 2025 9:03am
cube-ui-kit-cursor Ready Ready Preview, Comment Dec 16, 2025 9:03am

@github-actions
Copy link
Contributor

github-actions bot commented Dec 12, 2025

🧪 Storybook is successfully deployed!

@github-actions
Copy link
Contributor

github-actions bot commented Dec 12, 2025

🏋️ Size limit report

Name Size Passed?
All 306.79 KB (-0.01% 🔽👏) Yes 🎉
Tree shaking (just a Button) 42.23 KB (0% 🟰) Yes 🎉
Tree shaking (just an Icon) 20.72 KB (0% 🟰) Yes 🎉

Click here if you want to find out what is changed in this build

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Bug: Release workflow lacks OIDC auth after token deletion

The release workflow deletes the .npmrc auth token but doesn't configure OIDC/provenance for changeset publish. The canary publish correctly uses --provenance flag (line 94), but the release workflow relies on changeset publish which won't use OIDC without either NPM_CONFIG_PROVENANCE=true environment variable or a modified publish command. Since the auth token is deleted and NPM_TOKEN is not set, the release publish may fail with authentication errors.

.github/workflows/publish.yml#L160-L168

- name: Clear .npmrc auth token (use OIDC instead)
run: npm config delete //registry.npmjs.org/:_authToken || true
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
publish: pnpm release

Fix in Cursor Fix in Web


The GitHub environment name must match exactly between the workflow and
npmjs.com trusted publisher config. Since we document leaving environment
empty on npmjs.com, the workflow should not use an environment either.
- name: Verify npm version and OIDC availability
run: |
echo "npm version: $(npm --version)"
echo "OIDC available: ${{ env.ACTIONS_ID_TOKEN_REQUEST_URL != '' }}"
Copy link

Choose a reason for hiding this comment

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

Bug: OIDC availability check always evaluates to false

The OIDC verification step uses ${{ env.ACTIONS_ID_TOKEN_REQUEST_URL != '' }} to check OIDC availability, but this will always evaluate to false. The ACTIONS_ID_TOKEN_REQUEST_URL is a runtime environment variable injected by GitHub Actions infrastructure, not accessible via the workflow's env context (which only includes variables defined in env: blocks). To check this variable, shell syntax like $ACTIONS_ID_TOKEN_REQUEST_URL must be used instead of the expression context. The diagnostic output will always show "OIDC available: false" regardless of actual OIDC availability, providing misleading information during troubleshooting.

Additional Locations (1)

Fix in Cursor Fix in Web

@github-actions
Copy link
Contributor

github-actions bot commented Dec 15, 2025

📦 NPM canary release

Deployed canary version 0.0.0-canary-1e090a8.

env:
NODE_OPTIONS: --max-old-space-size=4096
outputs:
published: ${{ steps.changesets.outputs.published }}
Copy link

Choose a reason for hiding this comment

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

Bug: Missing fallback for published output may skip Chromatic

The old workflow had a defensive fallback ${{ jobs.publish-release.outputs.published || 'false' }} ensuring that if the published output wasn't set, it would default to 'false'. The new code directly passes ${{ steps.changesets.outputs.published }} without this fallback. If the changesets action fails to set the output for any reason, needs.publish-release.outputs.published would be empty, causing the condition == 'false' to evaluate to false, and deploy-chromatic-release would silently be skipped instead of running as expected when no release was published.

Additional Locations (1)

Fix in Cursor Fix in Web

@tenphi tenphi merged commit 8c2aa56 into main Dec 16, 2025
17 checks passed
@tenphi tenphi deleted the fix-github-actions-2 branch December 16, 2025 09:12
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