Skip to content

ci(lint): run lint checks without requiring maintainer approval (#1441) - #1442

Merged
rohan-pandeyy merged 2 commits into
AOSSIE-Org:mainfrom
VanshajPoonia:ci/1441-decouple-lint-workflow
Aug 2, 2026
Merged

ci(lint): run lint checks without requiring maintainer approval (#1441)#1442
rohan-pandeyy merged 2 commits into
AOSSIE-Org:mainfrom
VanshajPoonia:ci/1441-decouple-lint-workflow

Conversation

@VanshajPoonia

@VanshajPoonia VanshajPoonia commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Fork PR workflows on pull_request need maintainer approval, and that approval is all-or-nothing per PR event, so the lint job (44s) could never run without also releasing the gated frontend/backend/build jobs.

Move linting into its own pull_request_target workflow, which the repo already uses for label-merge-conflicts and linked-issue, so it runs unattended while the expensive jobs stay gated exactly as before. Hardened with permissions: {}, no secrets, an explicit PR-head checkout with persist-credentials: false, and npm ci --ignore-scripts, since pull_request_target executes PR-controlled input in base-repo context.

Addressed Issues:

Fixes #1441

AI Usage Disclosure:

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact. AI slop is strongly discouraged and may lead to banning and blocking. Do not spam our repos with AI slop.

Check one of the checkboxes below:

  • This PR does not contain AI-generated code at all.
  • This PR contains AI-generated code. I have read the AI Usage Policy and this PR complies with this policy. I have tested the code locally and I am responsible for it.

I have used the following AI models and tools: Codex, Claude

Checklist

  • My PR addresses a single issue, fixes a single bug or makes a single improvement.
  • My code follows the project's code style and conventions
  • If applicable, I have made corresponding changes or additions to the documentation
  • If applicable, I have made corresponding changes or additions to tests
  • My changes generate no new warnings or errors
  • I have joined the Discord server and I will share a link to this PR with the project maintainers there
  • I have read the Contribution Guidelines
  • Once I submit my PR, CodeRabbit AI will automatically review it and I will address CodeRabbit's comments.
  • I have filled this PR template completely and carefully, and I understand that my PR may be closed without review otherwise.

Summary by CodeRabbit

  • Chores
    • Added a dedicated automated workflow for pull requests that checks Markdown, frontend, backend, and Rust formatting and linting.
    • Streamlined the existing pull request test workflow by removing its redundant linting job.
    • Added the required backend linting tools to support consistent automated quality checks.

…IE-Org#1441)

Fork PR workflows on pull_request need maintainer approval, and that
approval is all-or-nothing per PR event, so the lint job (44s) could
never run without also releasing the gated frontend/backend/build jobs.

Move linting into its own pull_request_target workflow, which the repo
already uses for label-merge-conflicts and linked-issue, so it runs
unattended while the expensive jobs stay gated exactly as before.
Hardened with permissions: {}, no secrets, an explicit PR-head
checkout with persist-credentials: false, and npm ci --ignore-scripts,
since pull_request_target executes PR-controlled input in base-repo
context.
@github-actions github-actions Bot added cleanup scripts Changes related to scripts labels Jul 31, 2026
@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: fb579dd5-b50a-4755-adad-c52a6fd77d1b

📥 Commits

Reviewing files that changed from the base of the PR and between 9dd5b16 and 7ea7f55.

📒 Files selected for processing (2)
  • .github/workflows/lint.yml
  • backend/requirements-lint.txt
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/lint.yml

Walkthrough

The pull request adds a dedicated lint workflow for pull requests targeting main. It configures toolchains and dependencies, runs Markdown, frontend, backend, and Rust checks, and removes linting from the existing test workflow.

Changes

Pull Request Linting

Layer / File(s) Summary
Dedicated lint check workflow
.github/workflows/lint.yml, .github/workflows/pr-check-tests.yml, backend/requirements-lint.txt
The new workflow configures linting tools and runs Markdown, frontend, backend, and Rust checks. The backend lint tools use pinned versions. The existing test workflow removes its linting job.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Poem

I’m a rabbit with checks in a row,
Markdown and Rust now neatly glow.
Node and Python hop into line,
Pull requests get linted on time.
Tests remain ready and bright.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes moving lint checks to CI without maintainer approval.
Linked Issues check ✅ Passed The changes add the dedicated lint workflow, remove the gated lint job, and add pinned lint dependencies required by issue #1441.
Out of Scope Changes check ✅ Passed All reported changes support the lint workflow migration, security hardening, or reproducible lint tooling objectives.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with 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.

❤️ 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: 2

🤖 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/lint.yml:
- Around line 44-47: Update the “Install backend lint dependencies” workflow
step to install pre-commit, ruff, and black from a reviewed backend lint
requirements file containing exact versions, rather than unpinned package names.
Ensure the workflow still changes into the backend directory and uses that file
for installation.
- Line 16: Update the lint workflow’s runtime configuration to use an active
Node.js LTS version supported by the frontend project instead of Node 18, while
preserving the existing current action pins for actions/checkout,
actions/setup-node, and actions/setup-python; only change checkout to v6 if the
workflow already targets that major version.
🪄 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.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 532f75dc-6f85-4b1e-a68f-8e2e1bea77a8

📥 Commits

Reviewing files that changed from the base of the PR and between c7323dc and 9dd5b16.

📒 Files selected for processing (2)
  • .github/workflows/lint.yml
  • .github/workflows/pr-check-tests.yml
💤 Files with no reviewable changes (1)
  • .github/workflows/pr-check-tests.yml

Comment thread .github/workflows/lint.yml
Comment thread .github/workflows/lint.yml Outdated
@rohan-pandeyy

Copy link
Copy Markdown
Member

High value change. Let's address all the coderabbit reviews and get this merged quickly @VanshajPoonia

@gitcordapp

gitcordapp Bot commented Jul 31, 2026

Copy link
Copy Markdown

Link your account with Gitcord

Thanks for opening this PR, @VanshajPoonia!

To receive Discord notifications and contributor tracking for this organization:

  1. Join Discord: https://discord.gg/hjUhu33uAn
  2. In Discord, run /link VanshajPoonia
  3. Paste the verification code into your GitHub bio (or a public gist)
  4. Click Verify in Discord (or run /verify-link VanshajPoonia)

Once linked, Gitcord can notify you about reviews, merges, and more.

Posted by Gitcord

CodeRabbit flagged two issues on AOSSIE-Org#1441: Node 18 is EOL, and pre-commit/
ruff/black were installed unpinned so runs could pick up different
versions over time.

Switch node-version to lts/*, matching pr-check-build.yml and
release-prep.yml. Pin pre-commit/ruff/black in a new
backend/requirements-lint.txt, with ruff and black matching the exact
revs already in .pre-commit-config.yaml so the installed tools and the
hooks pre-commit actually runs stay in sync.
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedpypi/​black@​24.4.28585100100100
Addedpypi/​pre-commit@​3.7.193100100100100
Addedpypi/​ruff@​0.4.1010010099100100

View full report

@VanshajPoonia

Copy link
Copy Markdown
Contributor Author

@rohan-pandeyy Please review

@rohan-pandeyy
rohan-pandeyy merged commit fa6df7c into AOSSIE-Org:main Aug 2, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cleanup scripts Changes related to scripts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feat: Run lint checks automatically on PRs, without maintainer approval

2 participants