Skip to content

SDKS-5283 CI pipeline fixes - #236

Merged
spetrov merged 5 commits into
developfrom
SDKS-5283
Aug 11, 2026
Merged

SDKS-5283 CI pipeline fixes#236
spetrov merged 5 commits into
developfrom
SDKS-5283

Conversation

@spetrov

@spetrov spetrov commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

JIRA Ticket

SDKS-5283 Fix CI pipeline to support PRs created from forks

Description

Summary by CodeRabbit

  • New Features

    • Added /run-ci issue-comment support with permission checks, status acknowledgment, and result notifications.
    • Workflows can now run against a specified commit and repository for more reliable pull-request validation.
  • Chores

    • Removed TestRail integration and related configuration.
    • Adjusted result publication, artifact preparation, and security scans for forked pull requests.
    • Documentation generation now runs only on pushes.
  • Documentation

    • Clarified FIDO collector payload documentation.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@spetrov, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 53 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 8f018b51-6f4a-48fa-8825-b516bb6f1cb2

📥 Commits

Reviewing files that changed from the base of the PR and between 3b54969 and 3ca769f.

📒 Files selected for processing (1)
  • .github/workflows/ci.yaml
📝 Walkthrough

Walkthrough

The CI workflows now resolve explicit commit context for pull requests and /run-ci issue comments. They remove TestRail integration, apply fork-specific job conditions, and update reusable workflow checkout inputs. The FIDO collector documentation uses Kotlin link syntax.

Changes

CI workflow modernization

Layer / File(s) Summary
Resolve CI execution context
.github/workflows/ci.yaml
The workflow validates authorized /run-ci comments, acknowledges valid requests, resolves the target commit SHA and repository, and reports the CI result.
Propagate explicit checkout context
.github/workflows/ci.yaml, .github/workflows/build-and-test.yaml, .github/workflows/integration-tests.yaml, .github/workflows/browserstack-prepare-artifacts.yaml, .github/workflows/mend-sast-scan.yaml, .github/workflows/mend-sca-scan.yaml
Reusable workflows accept optional head_sha and head_repo inputs. Checkouts and published checks use these values with pull-request fallbacks.
Remove TestRail execution contracts
.github/workflows/ci.yaml, .github/workflows/build-and-test.yaml, .github/workflows/integration-tests.yaml, .github/workflows/create-testrail-run.yaml
TestRail run creation, credentials, run IDs, environment variables, and configuration steps are removed.
Apply event-specific job behavior
.github/workflows/ci.yaml, .github/workflows/build-and-test.yaml
Fork pull requests skip selected publication, notification, artifact, and scanning jobs. Documentation and package-size jobs use event-specific conditions.

FIDO documentation reference

Layer / File(s) Summary
Use Kotlin link syntax for the event type
mfa/fido/src/main/kotlin/com/pingidentity/fido/davinci/AbstractFidoCollector.kt
The payload() documentation links to Collectors.eventType using Kotlin link syntax.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Author
  participant CI
  participant ContextResolver
  participant DownstreamJobs
  participant Notification
  Author->>CI: post /run-ci comment
  CI->>ContextResolver: validate request
  ContextResolver-->>CI: head_sha and head_repo
  CI->>DownstreamJobs: start with resolved context
  DownstreamJobs-->>CI: return job results
  CI->>Notification: post CI result and update reaction
Loading

Possibly related PRs

Suggested labels: DO NOT MERGE

Suggested reviewers: witrisna

Poem

I’m a rabbit guarding each run,
CI hops when /run-ci is done.
Head commits guide every track,
TestRail leaves and won’t come back.
Linked docs now point just right.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The JIRA ticket is provided, but the required Description section is empty and does not explain the changes or testing information. Add a brief description of the CI changes, fork pull request support, and relevant testing information.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the CI pipeline fixes and matches the pull request's main objective.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch SDKS-5283

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.

❤️ Share

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

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yaml:
- Around line 35-40: Update the issue_comment condition to require
github.event.comment.body to equal the complete /run-ci command, rather than
merely containing it. Preserve the existing pull-request and
authorized-association checks.
- Around line 262-281: Update the notify job’s needs declaration and results
array to include the integration-tests job. Ensure the result evaluation
continues treating integration-tests as acceptable when its status is skipped,
while waiting for and rejecting failed integration tests when
ENABLE_INTEGRATION_TESTS is true.
- Line 23: Replace the workflow-wide permissions: write-all configuration with
read-only permissions for fork-triggered code execution, and ensure those jobs
receive no repository secrets. Separate signing and other privileged work into
jobs that run only trusted code or reviewed artifacts, and set
persist-credentials: false on checkouts handling fork code. Review the /run-ci
trigger and checkout flow to prevent resolving or executing untrusted fork heads
with write access.

In @.github/workflows/mend-sast-scan.yaml:
- Around line 36-37: Update the Mend workflow checkout-related check publication
in .github/workflows/mend-sast-scan.yaml lines 36-37 and
.github/workflows/mend-sca-scan.yaml lines 36-37 so checks.create.head_sha uses
the resolved inputs.head_sha value in both workflows, matching the commit
checked out by the workflow rather than context.sha.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 66bde0ca-ad25-4b7d-b0c5-cbdfe2b7142d

📥 Commits

Reviewing files that changed from the base of the PR and between 5eca62c and 5840c40.

📒 Files selected for processing (6)
  • .github/workflows/browserstack-prepare-artifacts.yaml
  • .github/workflows/build-and-test.yaml
  • .github/workflows/ci.yaml
  • .github/workflows/integration-tests.yaml
  • .github/workflows/mend-sast-scan.yaml
  • .github/workflows/mend-sca-scan.yaml

Comment thread .github/workflows/ci.yaml Outdated
Comment thread .github/workflows/ci.yaml
Comment thread .github/workflows/ci.yaml
Comment thread .github/workflows/mend-sast-scan.yaml
@spetrov
spetrov marked this pull request as ready for review August 11, 2026 22:34

@coderabbitai coderabbitai Bot 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.

🧹 Nitpick comments (1)
.github/workflows/mend-sast-scan.yaml (1)

154-154: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Pass head_sha through the environment before using it in JavaScript.

The current caller supplies a GitHub-derived commit SHA, so this is not exploitable through the current call path. Read MEND_HEAD_SHA from process.env and validate it before calling checks.create to protect future callers.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/mend-sast-scan.yaml at line 154, Update the JavaScript
flow around checks.create to read the commit SHA from the MEND_HEAD_SHA
environment variable instead of interpolating the GitHub expression directly.
Validate the environment value before invoking checks.create, and pass the
validated SHA as head_sha.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/mend-sast-scan.yaml:
- Line 154: Update the JavaScript flow around checks.create to read the commit
SHA from the MEND_HEAD_SHA environment variable instead of interpolating the
GitHub expression directly. Validate the environment value before invoking
checks.create, and pass the validated SHA as head_sha.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b050055b-9a9f-4472-a35c-656f49da98c2

📥 Commits

Reviewing files that changed from the base of the PR and between 5840c40 and 3b54969.

📒 Files selected for processing (6)
  • .github/workflows/browserstack-prepare-artifacts.yaml
  • .github/workflows/build-and-test.yaml
  • .github/workflows/ci.yaml
  • .github/workflows/integration-tests.yaml
  • .github/workflows/mend-sast-scan.yaml
  • .github/workflows/mend-sca-scan.yaml
🚧 Files skipped from review as they are similar to previous changes (3)
  • .github/workflows/browserstack-prepare-artifacts.yaml
  • .github/workflows/integration-tests.yaml
  • .github/workflows/build-and-test.yaml

@spetrov
spetrov merged commit 51401cb into develop Aug 11, 2026
10 of 11 checks passed
@spetrov
spetrov deleted the SDKS-5283 branch August 11, 2026 22:42
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.

2 participants