-
Notifications
You must be signed in to change notification settings - Fork 0
fix(ci): repair 4 soft-gate workflow validation errors (FR-001) #640
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
Changes from all commits
6cbb81e
f485d8e
0826a4a
9be992c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,8 +9,8 @@ jobs: | |
| runs-on: ubuntu-24.04 | ||
| steps: | ||
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
| - uses: github/codeql-action/init-action@v4 | ||
| - uses: github/codeql-action/init@v4 | ||
| with: | ||
| languages: [typescript, python, rust, go] | ||
| - uses: github/codeql-action/autobuild | ||
| - uses: github/codeql-action/analyze | ||
| - uses: github/codeql-action/autobuild@v4 | ||
| - uses: github/codeql-action/analyze@v4 | ||
|
Comment on lines
+12
to
+16
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/usr/bin/env bash
set -euo pipefail
file=.github/workflows/sast.yml
if rg -n 'github/codeql-action/(init|autobuild|analyze)`@v`[0-9]+([[:space:]]|$)' "$file"; then
echo "Mutable CodeQL action references found." >&2
exit 1
fi
for action in init autobuild analyze; do
rg -n "github/codeql-action/${action}@[0-9a-f]{40}([[:space:]]|$)" "$file"
doneRepository: KooshaPari/sharecli Length of output: 343 🌐 Web query:
💡 Result: As of August 5, 2026, the current release of the github/codeql-action is v4.37.6 [1]. The commit SHA associated with the v4.37.6 release tag is 5595ccaf912efad79be6eef63a5619ff05969be3 [2]. Citations:
🌐 Web query:
💡 Result: The identifier 5595ccaf912efad79be6eef63a5619ff05969be3 corresponds to a specific commit hash within the official GitHub CodeQL Action repository (github/codeql-action) [1]. This commit is associated with the release of version v4.37.6 of the CodeQL Action [1][2]. The CodeQL Action is a GitHub Action used for running semantic code analysis to identify security vulnerabilities [3]. Version v4.37.6 is part of the v4 release line, which is built on the Node.js 24 runtime [3][4]. GitHub currently recommends users migrate to v4, as v3 is scheduled for deprecation in December 2026 [5][4]. Citations:
Security Misconfiguration (CWE-829): Inclusion of Functionality from Untrusted Control Sphere Pin CodeQL actions to immutable commit SHAs.
🧰 Tools🪛 actionlint (1.7.12)[error] 14-14: expected scalar node for string value but found sequence node with "!!seq" tag (syntax-check) 🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -13,9 +13,6 @@ permissions: | |
| contents: read | ||
| actions: read | ||
|
|
||
| env: | ||
|
|
||
|
|
||
| jobs: | ||
| # Secret Scanning | ||
| secrets: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,138 +1,14 @@ | ||
| # Mergify Configuration — Optimized for multi-language monorepos | ||
| # Docs: https://docs.mergify.com/ | ||
|
|
||
| pull_request_rules: | ||
| # Auto-merge when all CI checks pass and PR is approved | ||
| - name: Auto-merge when approved + CI green | ||
| - name: auto-merge when approved and required checks green | ||
| conditions: | ||
| - "#review-requested=0" | ||
| - "#approved-reviews-by>=1" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. WARNING: Missing The auto-merge rule no longer blocks merging when review requests are pending. A PR can now auto-merge even after someone requests a review from another person, potentially merging unreviewed code. Reply with |
||
| - check-success=ci | ||
| - check-success=lint | ||
| - check-success=typecheck | ||
| - check-success=test | ||
| - -conflict | ||
| - -closed | ||
| - "check-success=ci / lint" | ||
| - "check-success=ci / test" | ||
| - "check-success=coverage" | ||
| - "-conflict" | ||
| - "-closed" | ||
| - "-draft" | ||
| actions: | ||
| merge: | ||
| method: squash | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. SUGGESTION: Missing The custom squash commit message template was removed. Auto-merged PRs will now use Mergify's default commit message format instead of the previous format that included the PR title, number, and co-author attribution. Reply with |
||
| commit_message_template: | | ||
| {{ title }} (#{{ number }}) | ||
|
|
||
| Co-authored-by: {{ author }} | ||
| post_merge: | ||
| action: close | ||
|
|
||
| # Auto-merge dependabot/Renovate PRs when CI passes | ||
| - name: Auto-merge dependency updates | ||
| conditions: | ||
| - author=dependabot[bot] | renovate[bot] | ||
| - check-success=ci | ||
| - -conflict | ||
| - -closed | ||
| actions: | ||
| merge: | ||
| method: squash | ||
| commit_message_template: | | ||
| {{ title }} (#{{ number }}) | ||
|
|
||
| Co-authored-by: {{ author }} | ||
| post_merge: | ||
| action: close | ||
|
|
||
| # Auto-merge bot PRs (CI configs, formatting) when CI passes | ||
| - name: Auto-merge bot housekeeping PRs | ||
| conditions: | ||
| - author=trunk-io[bot] | mergify[bot] | github-actions[bot] | ||
| - check-success=ci | ||
| - check-success=lint | ||
| - -conflict | ||
| - -closed | ||
| actions: | ||
| merge: | ||
| method: squash | ||
|
|
||
| # Add reviewers based on changed paths | ||
| - name: Request review from team | ||
| conditions: | ||
| - -closed | ||
| - -draft | ||
| actions: | ||
| request_reviews: | ||
| teams: | ||
| - phenotype/core | ||
| github_accounts: | ||
| - KooshaPari | ||
|
|
||
| # Label PRs based on changed files | ||
| - name: Label Python changes | ||
| conditions: | ||
| - files~=\.py$ | ||
| actions: | ||
| label: | ||
| add: | ||
| - python | ||
|
|
||
| - name: Label Rust changes | ||
| conditions: | ||
| - files~=\.rs$|Cargo\. | ||
| actions: | ||
| label: | ||
| add: | ||
| - rust | ||
|
|
||
| - name: Label Go changes | ||
| conditions: | ||
| - files~=\.go$|go\. | ||
| actions: | ||
| label: | ||
| add: | ||
| - go | ||
|
|
||
| - name: Label TypeScript changes | ||
| conditions: | ||
| - files~=\.ts$|\.tsx$|package\.json | ||
| actions: | ||
| label: | ||
| add: | ||
| - typescript | ||
|
|
||
| # Close stale PRs after 30 days | ||
| - name: Close stale PRs | ||
| conditions: | ||
| - -closed | ||
| - -draft | ||
| - age>=30d | ||
| - "#review-requested=0" | ||
| actions: | ||
| comment: | ||
| message: > | ||
| This PR has been automatically closed after 30 days of inactivity. | ||
| Feel free to reopen if still relevant. | ||
| close: {} | ||
|
|
||
| # Warn on large PRs | ||
| - name: Warn on large PRs | ||
| conditions: | ||
| - -closed | ||
| - -draft | ||
| - "#files>20" | ||
| actions: | ||
| comment: | ||
| message: > | ||
| **Large PR Alert**: This PR touches {{ number }} files. | ||
| Consider splitting into smaller PRs for easier review. | ||
|
|
||
| # Add ready-to-merge label when all checks pass | ||
| - name: Add ready-to-merge label | ||
| conditions: | ||
| - -closed | ||
| - -draft | ||
| - check-success=ci | ||
| - check-success=lint | ||
| - check-success=test | ||
| - "#approved-reviews-by>=1" | ||
| actions: | ||
| label: | ||
| add: | ||
| - ready-to-merge | ||
| delete_head_branch: {} | ||
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.
🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: KooshaPari/sharecli
Length of output: 386
Use a scalar for the
languagesinput.languages: [typescript, python, rust, go]is invalid because the CodeQL initialization input expects a scalar. The workflow will fail validation unless this is rendered as a comma-separated string instead.Proposed fix
📝 Committable suggestion
🧰 Tools
🪛 actionlint (1.7.12)
[error] 14-14: expected scalar node for string value but found sequence node with "!!seq" tag
(syntax-check)
🤖 Prompt for AI Agents
Source: Linters/SAST tools