Repository navigation
Conversation
Bumps the github-security group with 2 updates: [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) and [github/codeql-action/autobuild](https://github.com/github/codeql-action). Updates `github/codeql-action/upload-sarif` from 4.36.2 to 4.36.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@8aad20d...54f647b) Updates `github/codeql-action/autobuild` from 4.36.2 to 4.36.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@8aad20d...54f647b) --- updated-dependencies: - dependency-name: github/codeql-action/upload-sarif dependency-version: 4.36.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-security - dependency-name: github/codeql-action/autobuild dependency-version: 4.36.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-security ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the security-scanners group with 1 update: [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog). Updates `trufflesecurity/trufflehog` from 3.95.6 to 3.95.8 - [Release notes](https://github.com/trufflesecurity/trufflehog/releases) - [Commits](trufflesecurity/trufflehog@30d5bb9...00155c9) --- updated-dependencies: - dependency-name: trufflesecurity/trufflehog dependency-version: 3.95.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: security-scanners ... Signed-off-by: dependabot[bot] <support@github.com>
…alse positives The PRERELEASE_PATTERN matched any alphabetical suffix after a semver (x.y.z-[a-zA-Z]), so stable vendor-suffixed releases like HashiCorp's v1.0.1-vault-7 were wrongly flagged as pre-release. Switch go.mod/package.json scanning to the same keyword allowlist already used for Dockerfiles (alpha|beta|rc|dev|preview|canary|snapshot|nightly), so only real pre-release suffixes block. Closes #526
Add a prerelease-pattern input to the prerelease-check action and wire it
from ${{ vars.PRERELEASE_PATTERN }} in pr-security-scan. This lets the
pre-release detection regex be tuned centrally at the org level without
cutting a new release. An empty value falls back to the built-in
allowlist, so behavior is unchanged for repos that never set the variable.
The single pattern now drives go.mod, package.json and Dockerfile scanning.
The keyword alternation was prefix-matched, so stable suffixes like -devtools-7 or -rca were flagged as -dev/-rc. Add a token boundary that still accepts numeric and dot/plus-separated forms (-beta1, -beta.1, -rc.2) but rejects longer identifiers. Also fix README accuracy: document the < range comparator supported by the package.json scan and use a full Go pseudo-version in the example.
… as token Two hardening fixes for the pre-release regex: - Validate the resolved PRERELEASE_PATTERN with a grep probe before scanning; a malformed override from vars.PRERELEASE_PATTERN would make every "grep -E ... || true" look like zero findings and silently disable the security gate. Fall back to the built-in allowlist with a warning. - Add '_' to the token-boundary class so tags like 1.2.3-dev_build are not flagged as -dev (relevant for Dockerfile scanning of vendor/image tags).
…ntroller release-diff (#562)
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… the security-scanners group (#548)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
Summary by CodeRabbit
WalkthroughThe change adds an Ungoliant release-diff action and integrates it into Go and JavaScript release workflows, adds configurable prerelease detection with regex validation, and updates pinned Docker, CodeQL, and TruffleHog actions. ChangesUngoliant release diff
Configurable prerelease detection
Pinned action updates
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
🔍 PR Validation Summary✅ PR Mergeable — no blocking failures
|
🔍 Lint Analysis
|
🛡️ CodeQL Analysis ResultsLanguages analyzed: Found 3 issue(s): 3 Medium
🔍 View full scan logs | 🛡️ Security tab |
There was a problem hiding this comment.
Warning
CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.
Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.
Actionable comments posted: 5
🤖 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 `@src/security/prerelease-check/action.yml`:
- Around line 68-81: The prerelease matching pattern incorrectly treats hyphens
as a terminating boundary, missing valid tags such as v1.2.3-beta-1 and
golang:1.21.0-beta1-alpine. Update the pattern and its usage in the
prerelease-check action to detect hyphenated SemVer identifiers, preferably by
separating Go/npm and Docker matching rules, while retaining the -devtools
false-positive protection. Add tests covering both missed cases and the existing
protection.
In `@src/validate/ungoliant-release-diff/action.yml`:
- Around line 248-259: Move the “Health check controller” step to immediately
after the “Resolve config” step, before any GitHub API calls that fetch tags,
comparisons, or diffs. Preserve its existing curl command, timeout, error
handling, and environment configuration so controller availability is validated
before expensive operations begin.
- Around line 148-151: Update the read-only GitHub API curl calls in the tags,
compare, and diff sections to include --retry 2 --retry-delay 2 alongside their
existing timeout and failure options; do not add retries to the webhook POST
call.
- Around line 145-162: Update the previous-tag resolution block around PREV and
the tags API call so it no longer relies on GitHub’s /tags response order or a
single page. Prefer requiring an explicit PREVIOUS value; otherwise paginate all
relevant tags and sort them deterministically according to the project’s version
scheme before selecting the tag immediately preceding VERSION. Preserve the
existing error and resolved-tag messages, and ensure the fallback fails clearly
when no valid predecessor exists.
In `@src/validate/ungoliant-release-diff/README.md`:
- Around line 53-59: Update the canonical “Required permissions” and “Usage as
composite step” examples in the README to grant pull-requests: write alongside
contents: read, matching the documented PR-comment requirement and ensuring
copied configurations enable comment posting.
🪄 Autofix (Beta)
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.yml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 2f8ace83-7801-4d11-8007-7756d5116c70
📒 Files selected for processing (14)
.github/workflows/build.yml.github/workflows/gitops-update.yml.github/workflows/go-pr-analysis.yml.github/workflows/go-release.yml.github/workflows/go-security.yml.github/workflows/js-release.yml.github/workflows/pr-security-scan.ymldocs/go-release-workflow.mddocs/js-release.mddocs/pr-security-scan-workflow.mdsrc/security/prerelease-check/README.mdsrc/security/prerelease-check/action.ymlsrc/validate/ungoliant-release-diff/README.mdsrc/validate/ungoliant-release-diff/action.yml
…ail-fast health check - Resolve the previous tag deterministically: paginate all tags and version-sort (sort -rV) instead of trusting the /tags response order or a single 100-tag page, which could resolve the wrong previous diff on repos with many tags. - Add --retry 2 --retry-delay 2 to the read-only GitHub GETs (tags/compare/diff) to reduce release-pipeline flakiness from transient blips; the webhook POST is intentionally left without retries to avoid duplicate chaos runs. - Move the controller /healthz check ahead of the GitHub API calls to fail fast and avoid wasting rate-limited requests when the controller is down. - Document pull-requests: write in the README permissions examples so callers copying them get a working PR-comment feature. Addresses CodeRabbit review on PR #566.
GitHub Actions Shared Workflows
Description
Type of Change
feat: New workflow or new input/output/step in an existing workflowfix: Bug fix in a workflow (incorrect behavior, broken step, wrong condition)perf: Performance improvement (e.g. caching, parallelism, reduced steps)refactor: Internal restructuring with no behavior changedocs: Documentation only (README, docs/, inline comments)ci: Changes to self-CI (workflows under.github/workflows/that run on this repo)chore: Dependency bumps, config updates, maintenancetest: Adding or updating testsBREAKING CHANGE: Callers must update their configuration after this PRBreaking Changes
None.
Testing
@this-branchor the beta tagCaller repo / workflow run:
Related Issues
Closes #