-
Notifications
You must be signed in to change notification settings - Fork 3
chore: add-continuous-publish #399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
View your CI Pipeline Execution ↗ for commit bb83ab8
☁️ Nx Cloud last updated this comment at |
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project status has failed because the head coverage (18.75%) is below the target coverage (40.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #399 +/- ##
=========================================
+ Coverage 0 18.75% +18.75%
=========================================
Files 0 138 +138
Lines 0 27368 +27368
Branches 0 951 +951
=========================================
+ Hits 0 5132 +5132
- Misses 0 22236 +22236 🚀 New features to boost your workflow:
|
cfa0b9a
to
1a77d09
Compare
@forgerock/davinci-client
@forgerock/oidc-client
@forgerock/protect
@forgerock/sdk-types
@forgerock/sdk-utilities
@forgerock/iframe-manager
@forgerock/sdk-logger
@forgerock/sdk-oidc
@forgerock/sdk-request-middleware
@forgerock/storage
commit: |
Deployed 43e62c5 to https://ForgeRock.github.io/ping-javascript-sdk/pr-399/43e62c57b2cdd285e807f47d9c7ab8c80998b9f8 branch gh-pages in ForgeRock/ping-javascript-sdk |
📦 Bundle Size Analysis📦 Bundle Size Analysis🚨 Significant Changes🔻 @forgerock/journey-client - 0.0 KB (-82.0 KB, -100.0%) 📊 Minor Changes📈 @forgerock/journey-client - 82.0 KB (+0.0 KB) ➖ No Changes➖ @forgerock/device-client - 9.2 KB 13 packages analyzed • Baseline from latest Legend🆕 New package ℹ️ How bundle sizes are calculated
🔄 Updated automatically on each push to this PR |
7313788
to
9b88b36
Compare
88cac6a
to
16135c2
Compare
WalkthroughAdds pnpm-based pkg-pr-new publish steps to CI and publish workflows, updates README badges, refines an e2e test to use Promise.all for navigation/click sync, and adjusts package.json devDependencies (moves ts-patch, adds ESLint TS plugins and pkg-pr-new). Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Pull Request
participant GH as GitHub Actions (ci.yml)
participant Build as Ensure builds run
participant PkgPR as pkg-pr-new publish
participant Docs as build docs
Dev->>GH: PR opened/updated
GH->>Build: Run build checks
Build-->>GH: Success/Failure
alt Build success
GH->>PkgPR: pnpm pkg-pr-new publish ./packages/* ./packages/sdk-effects/* (--packageManager=pnpm)
PkgPR-->>GH: Publish result (PR preview packages)
GH->>Docs: build docs
else Build failure
GH-->>Dev: Fail workflow
end
sequenceDiagram
autonumber
actor Maint as Release Trigger
participant GH as GitHub Actions (publish.yml)
participant CS as Changesets Publish
participant PkgPR as pkg-pr-new publish
Maint->>GH: Workflow run (release)
GH->>CS: Publish via Changesets
CS-->>GH: outputs.published = true/false
alt outputs.published == false
GH->>PkgPR: pnpm pkg-pr-new publish ./packages/* ./packages/sdk-effects/* (--packageManager=pnpm --comment=off)
PkgPR-->>GH: Publish result
else published == true
GH-->>Maint: Skip pkg-pr-new step
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
.github/workflows/ci.yml
(1 hunks).github/workflows/publish.yml
(1 hunks)README.md
(1 hunks)e2e/oidc-suites/src/logout.spec.ts
(2 hunks)package.json
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Mend Code Security Check
- GitHub Check: pr
🔇 Additional comments (4)
e2e/oidc-suites/src/logout.spec.ts (2)
41-44
: LGTM: Proper concurrent navigation pattern.Using
Promise.all
to wait for navigation while clicking is a Playwright best practice that prevents race conditions and timeouts.
78-81
: LGTM: Consistent pattern applied.The same concurrent navigation pattern is correctly applied for PingOne login flow, maintaining consistency across tests.
.github/workflows/publish.yml (1)
107-109
: LGTM: Conditional beta publishing strategy.The conditional publish to pkg-pr-new when
published == 'false'
correctly implements the beta publishing strategy for main branch when no official release occurs. The--comment=off
flag is appropriate since there's no PR context..github/workflows/ci.yml (1)
83-84
: No changes needed to the publish step. All glob patterns correctly match every directory containing a package.json, including all sdk-effects subpackages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think CodeRabbit caught a version issue, but other than that, this looks good.
d025c34
to
0b2f420
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nx Cloud has identified a possible root cause for your failed CI:
The failure is classified as 'environment_state' because:
-
The error is consistent across all failing lint tasks: "Cannot find package '@typescript-eslint/eslint-plugin' imported from eslint.config.mjs"
-
The PR changes focus on adding continuous publishing functionality (pkg-pr-new), updating CI workflows, README badges, and improving E2E test stability - none of which are related to ESLint configuration or TypeScript ESLint plugin dependencies.
-
This appears to be a missing dependency issue where
@typescript-eslint/eslint-plugin
is imported in the ESLint configuration but not present in package.json dependencies. This suggests the environment is missing required packages due to incomplete dependency installation or package resolution issues. -
The failure is unrelated to the code changes made in this PR. The PR successfully adds preview publishing capabilities but the environment cannot run linting due to missing ESLint plugin dependencies.
-
This type of dependency resolution failure is characteristic of environment setup issues rather than code changes introduced by the pull request.
No code changes are proposed since this is an environmental issue that should be resolved by ensuring all dependencies are properly installed in the CI environment.
A code change would likely not resolve this issue, so no action was taken.
⚙️ An Nx Cloud workspace admin can disable these reviews in workspace settings.
0b2f420
to
cb978d9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (7)
.direnv/flake-profile
(1 hunks).direnv/flake-profile-3-link
(1 hunks).github/workflows/ci.yml
(1 hunks).github/workflows/publish.yml
(1 hunks)README.md
(1 hunks)e2e/oidc-suites/src/logout.spec.ts
(2 hunks)package.json
(2 hunks)
✅ Files skipped from review due to trivial changes (2)
- .direnv/flake-profile
- .direnv/flake-profile-3-link
🚧 Files skipped from review as they are similar to previous changes (2)
- .github/workflows/publish.yml
- README.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Mend Code Security Check
- GitHub Check: pr
🔇 Additional comments (4)
e2e/oidc-suites/src/logout.spec.ts (2)
41-44
: Nice synchronization of the login navigationRegistering the
waitForURL
before the click keeps the navigation watcher armed and removes the race we occasionally saw here. Looks good.
78-81
: Consistent fix for the PingOne flowMirroring the Promise.all pattern here brings the same flake resistance to the PingOne scenario. 👍
.github/workflows/ci.yml (1)
83-83
: Addition aligns with pkg.pr.new guidance.Running a single
pkg-pr-new publish
invocation for all workspaces and tagging the package manager matches the upstream recommendations, so this fits the intended continuous-preview flow. (github.com)package.json (1)
107-107
:pkg-pr-new
pin looks good.
0.0.51
is the current latest tag, so this devDependency constraint is valid for the new workflow step. (classic.yarnpkg.com)
package.json
Outdated
"@typescript-eslint/eslint-plugin": "^8.45.0", | ||
"@typescript-eslint/parser": "^8.45.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Version 8.45.0 hasn’t been published—build will fail.
@typescript-eslint/eslint-plugin
and @typescript-eslint/parser
top out at 8.42.0 as of September 30, 2025, so the ^8.45.0
range cannot resolve and pnpm install
will error. Drop the floor to a released tag (for example ^8.42.0
) or align with whatever version constraints you intend to support before merging. (npmjs.com)
- "@typescript-eslint/eslint-plugin": "^8.45.0",
- "@typescript-eslint/parser": "^8.45.0",
+ "@typescript-eslint/eslint-plugin": "^8.42.0",
+ "@typescript-eslint/parser": "^8.42.0",
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
"@typescript-eslint/eslint-plugin": "^8.45.0", | |
"@typescript-eslint/parser": "^8.45.0", | |
"@typescript-eslint/eslint-plugin": "^8.42.0", | |
"@typescript-eslint/parser": "^8.42.0", |
🤖 Prompt for AI Agents
In package.json around lines 53 to 54, the @typescript-eslint/eslint-plugin and
@typescript-eslint/parser versions are set to ^8.45.0 which is unpublished and
will break installs; change both entries to a released version (for example
^8.42.0) or to the exact version range you intend to support, then run your
package manager (pnpm install) to update the lockfile and verify the install
succeeds.
cb978d9
to
3e4a03a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (7)
.direnv/flake-profile
(1 hunks).direnv/flake-profile-3-link
(1 hunks).github/workflows/ci.yml
(1 hunks).github/workflows/publish.yml
(1 hunks)README.md
(1 hunks)e2e/oidc-suites/src/logout.spec.ts
(2 hunks)package.json
(2 hunks)
🚧 Files skipped from review as they are similar to previous changes (5)
- .direnv/flake-profile-3-link
- e2e/oidc-suites/src/logout.spec.ts
- .github/workflows/ci.yml
- .github/workflows/publish.yml
- package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: pr
- GitHub Check: Mend Code Security Check
🔇 Additional comments (1)
README.md (1)
1-2
: LGTM! Badge updates are correct.Both badges are properly formatted with correct repository paths and workflow filenames. The pkg.pr.new badge will display the package preview status, and the CI badge correctly references the ci.yml workflow file.
.direnv/flake-profile
Outdated
@@ -0,0 +1 @@ | |||
flake-profile-3-link No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Do not commit .direnv/
directory to version control.
The .direnv/
directory contains environment-specific configuration generated by direnv and Nix flakes. These files are machine-specific and will differ across developer environments, causing unnecessary merge conflicts and repository churn. The standard practice is to exclude this directory from version control.
Remove this file and add .direnv/
to your .gitignore
:
-flake-profile-3-link
Then add the following line to .gitignore
:
+.direnv/
Run the following script to verify if .direnv
is already in .gitignore
and to identify all .direnv
files that should be removed:
🏁 Script executed:
#!/bin/bash
# Check if .direnv is already in .gitignore
echo "Checking .gitignore for .direnv entry:"
if [ -f .gitignore ]; then
grep -n "^\.direnv" .gitignore || echo "Not found in .gitignore"
else
echo ".gitignore file not found"
fi
echo ""
echo "All .direnv files/directories in the repository:"
fd -H -t f -t d "^\.direnv$" -x echo "{}"
Length of output: 122
Remove .direnv/
directory from version control and update .gitignore
.
- Delete the committed
.direnv/flake-profile
(and any other files under.direnv/
):git rm -r --cached .direnv
- Add the following line to your
.gitignore
:+.direnv/
This prevents machine-specific direnv artifacts from being tracked.
🤖 Prompt for AI Agents
In .direnv/flake-profile at lines 1-1: the repo currently tracks the .direnv
directory; remove all tracked .direnv files from version control and stop
tracking future ones by removing them from the index (e.g., git rm -r --cached
.direnv), add the line .direnv/ to the repository .gitignore, and commit the
changes so machine-specific direnv artifacts are no longer tracked.
3e4a03a
to
bb83ab8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
.github/workflows/ci.yml (1)
83-84
: Gate PR preview publish on non-forks and provide token env to avoid failures.Forked PRs have read-only GITHUB_TOKEN; tools that post PR comments typically expect GH_TOKEN/GITHUB_TOKEN. This step can fail on forks or when token isn’t detected. Recommend gating to same-repo PRs and mapping the token; optionally keep it non-blocking if previews are “nice to have.”
- - run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm + - name: Publish PR preview packages + if: ${{ github.event.pull_request.head.repo.fork == false }} + env: + # Many tools read GH_TOKEN; map the workflow token explicitly. + GH_TOKEN: ${{ github.token }} + GITHUB_TOKEN: ${{ github.token }} + run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm + # Uncomment if you prefer previews not to block CI: + # continue-on-error: trueIf you want previews even on forks, consider adding
--comment=off
for forks and keeping the run non-blocking. Please confirm howpkg-pr-new
behaves without write perms on forked PRs..github/workflows/publish.yml (1)
107-109
: Make preview publish resilient and pass token explicitly.When Changesets doesn’t publish on main, this fallback preview publish should not block the workflow. Also map the token for tools that expect GH_TOKEN.
- - run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm --comment=off - if: steps.changesets.outputs.published == 'false' + - name: Publish preview to StackBlitz registry (no comment) + if: steps.changesets.outputs.published == 'false' + env: + GH_TOKEN: ${{ github.token }} + GITHUB_TOKEN: ${{ github.token }} + run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm --comment=off + continue-on-error: truePlease confirm whether
pkg-pr-new
requires any additional flags (e.g., custom registry) in your environment; if so, we should add them here to avoid silent no-ops.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
.github/workflows/ci.yml
(1 hunks).github/workflows/publish.yml
(1 hunks)README.md
(1 hunks)e2e/oidc-suites/src/logout.spec.ts
(2 hunks)package.json
(2 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
- README.md
- package.json
- e2e/oidc-suites/src/logout.spec.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: pr
- GitHub Check: Mend Code Security Check
- GitHub Check: Mend Security Check
JIRA Ticket
N/A
Description
Add continuous releases on PR's.
on Main, when we don't publish, we publish to the stack blitz registry (like a beta)
Summary by CodeRabbit
New Features
Documentation
Tests
Chores