Repository navigation
Conversation
Adds snyk.yml (free Snyk CLI, skips with a notice without SNYK_TOKEN) and pipeline.yml, which calls ci.yml, codeql.yml, semgrep.yml and snyk.yml as reusable workflows and gates on all four. The child workflows drop their own push/pull_request/schedule triggers.
Contributor
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: listepo/cross-code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
listepo
marked this pull request as ready for review
September 25, 2026 14:19
…tions Skip the gate on draft PRs instead of passing it, so a draft run cannot leave a green gate check behind; replace secrets: inherit with the secrets each child uses (Semgrep secrets-inherit); SHA-pin the checkout/CodeQL actions (Semgrep mutable-action-tag).
always() made a cancelled run wait for a runner to execute the gate, holding the pipeline concurrency group so the superseding run stayed pending.
listepo
marked this pull request as draft
September 25, 2026 15:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One gated pipeline for this repo:
ci,codeql,semgrepandsnykrun in parallel, and a finalgatejob passes only when all four succeeded..github/workflows/pipeline.yml(new): triggers on push tomain, pull requests tomain(opened / synchronize / reopened / ready_for_review), weekly on Monday (17 4 * * 1) andworkflow_dispatch. Each jobuses: ./.github/workflows/<name>.yml; secrets are passed explicitly (nosecrets: inherit:snykgetsSNYK_TOKEN,cionly what ci.yml uses). Draft pull requests skip every job,gateincluded, so a draft run never leaves a green gate check behind; otherwisegate(needs: [ci, codeql, semgrep, snyk],if: always()+ not-draft) fails unless every result issuccess(failure, cancelled and skipped all fail it). Future deploy/release jobs mustneeds: gate.ci.yml,codeql.yml,semgrep.yml: nowon: workflow_call(+workflow_dispatch, sogh workflow run ci.ymlstill works). Their own push / pull_request / schedule triggers are removed so nothing runs twice. Top-levelconcurrencygroups that usedgithub.workflowwere renamed (ci) or dropped (codeql/semgrep): inside a called workflowgithub.workflowis the caller's name, so they would have collided with each other;pipeline.ymlowns concurrency now. Thecijob in the pipeline is grantedactions: read, contents: read, pull-requests: write, the union of what ci.yml's jobs request (a called workflow cannot exceed the caller's grant)..github/workflows/snyk.yml(new): free Snyk CLI via SHA-pinnedsnyk/actions/setup,snyk test --all-projects --sarif-file-output=snyk.sarif(findings and scan errors never fail the job),snyk monitor --all-projectsonly on push tomain, SARIF uploaded with categorysnyk. Uses repo secretSNYK_TOKEN; if it is missing the job emits a::notice::and succeeds.ci/codeqlbranch; semgrep.yml from theci/semgrepbranch (identical content), both converted to reusable workflows; checkout/CodeQL actions in codeql.yml are SHA-pinned (Semgrepgithub-actions-mutable-action-tag).This PR supersedes #14 (ci/codeql) #17 (ci/semgrep).
Snyk coverage
snyk container testneeds built images).snyk test/snyk monitordo not support Cargo; Rust Open Source scanning is limited tosnyk sbom teston a CycloneDX/SPDX SBOM (API use requires Ignite/Enterprise), and license scanning is unavailable for Cargo. Dart/Flutter (pub) is not supported by the Snyk CLI either.Policy change
pipeline.ymlrunsci.ymlon push (including push tomain) and on non-draft pull requests. This changes the previous policy that CI runs only via manual dispatch; Ivan asked for these triggers explicitly. Where ci.yml has arevert-on-failurejob guarded bygithub.event_name == 'push', it now becomes active on pushes tomainthrough the pipeline. Draft PRs no longer get CI until marked ready.Verification
workflow_dispatchneeds the workflow file on the default branch, sogh workflow run pipeline.yml --ref ci/pipelinereturns 404 before merge; the pipeline is verified through thepull_request(ready_for_review) run on this PR's head. actionlint 1.7.12 (with shellcheck) passes on all five workflow files.