feat: skip CI checks for translation-only PRs#23550
Conversation
- Add i18n.lock to path filter exclusions alongside common.json - Optimizes CI performance for auto-generated translation PRs from lingo.dev - Maintains full checks for all other code changes Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
WalkthroughThe GitHub Actions workflow configuration was updated to modify the has-files-requiring-all-checks exclusion list by adding i18n.lock. As a result, changes limited to i18n.lock will not trigger or gate the “all-checks” requirement. No other workflow paths or logic were changed. There were no changes to exported or public entities. ✨ Finishing Touches🧪 Generate 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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
.github/workflows/pr.yml (2)
35-36: Nit: conventional markdown glob
**.mdworks, but**/*.mdis more conventional and clearer to future readers.- - "!(**.md|.github/CODEOWNERS|docs/**|help/**|apps/web/public/static/locales/**/common.json|i18n.lock)" + - "!(**/*.md|.github/CODEOWNERS|docs/**|help/**|apps/web/public/static/locales/**/common.json|i18n.lock)"
35-36: Expand i18n.lock glob to match at any depthTo ensure any future subpackage
i18n.lockfiles aren’t skipped, update the negated glob:- - "!(**.md|.github/CODEOWNERS|docs/**|help/**|apps/web/public/static/locales/**/common.json|i18n.lock)" + - "!(**.md|.github/CODEOWNERS|docs/**|help/**|apps/web/public/static/locales/**/common.json|**/i18n.lock)"
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
.github/workflows/pr.yml(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: bandhan-majumder
PR: calcom/cal.com#23192
File: packages/features/insights/components/booking/LeastCompletedBookings.tsx:31-31
Timestamp: 2025-08-21T05:55:35.187Z
Learning: Cal.com uses an automated i18n system with lingo.dev that automatically propagates new translation keys from en/common.json to all other locale files and creates PRs with proper translations. The system includes a check-missing-translations.ts script that adds English placeholders for missing keys, and a GitHub workflow that triggers lingo.dev automation to translate and create PRs.
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Install dependencies / Yarn install & cache
🔇 Additional comments (1)
.github/workflows/pr.yml (1)
35-36: Translation-only skip extended correctlyAdding
|i18n.lockto the extglob keeps translation-only PRs from triggering heavy jobs; quoting the pattern avoids YAML tag parsing issues. Looks good.
E2E results are ready! |
What does this PR do?
This PR optimizes CI performance for auto-generated translation PRs by adding
i18n.lockto the path filter exclusions in the GitHub Actions workflow. When PRs only modify translation files (common.jsonandi18n.lock), expensive CI jobs (dependency installation, type checking, linting, testing, and builds) will be skipped.Context: Translation PRs like #23528 from lingo.dev frequently fail to merge quickly due to the active main branch, but they don't require the full test suite since they only contain translation updates.
Technical change: Adds
|i18n.lockto the existing path filter exclusion pattern in.github/workflows/pr.yml, extending the current behavior that already skips CI forcommon.json-only changes.Visual Demo
Not applicable - this is a workflow configuration change with no visible UI impact.
Mandatory Tasks
How should this be tested?
Testing approach:
i18n.lockandcommon.jsonfilesrequiredjob still passes and the PR remains mergeableKey validation points:
Checklist
Human Review Priorities:
i18n.lockpattern doesn't accidentally match other important filesRisks to consider:
Link to Devin run: https://app.devin.ai/sessions/41b0f3c86b3743ec91d65142254ad345
Requested by: @keithwillcode