-
Notifications
You must be signed in to change notification settings - Fork 122
NO-JIRA: chore(docs/adr): document language preference for Python, Go, and TypeScript #2640
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
base: main
Are you sure you want to change the base?
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
WalkthroughA new architecture decision document establishing language preferences (Python, Go, TypeScript over Bash) for new development. Document includes rationale, migration guidance, and language-specific considerations with metadata and standard ADR sections. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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 |
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.
Actionable comments posted: 0
🧹 Nitpick comments (2)
docs/architecture/decisions/0003-prefer-python-go-and-typescript-in-this-order.md (2)
1-1: Standardize capitalization toTypeScript(official brand).The document uses both "Typescript" (lines 1, 19) and "TypeScript" (lines 42+). Standardize to the official brand spelling "TypeScript" throughout for consistency and correctness.
-# 3. Prefer Python, Go, and Typescript (in this order) +# 3. Prefer Python, Go, and TypeScript (in this order)-The team has agreed to use Python, Go, and Typescript, in this order. +The team has agreed to use Python, Go, and TypeScript, in this order.Also applies to: 19-19, 42-42
15-15: Simplify wordiness: replace "in preference to" with "over".LanguageTool flags both instances of "in preference to" (lines 15 and 48) as potentially wordy. Consider using the more concise "over" instead.
-Use these languages in preference to Bash. +Use these languages over Bash.-We will consider using full-stack TypeScript in preference to having either a Python or Go backend to a TypeScript frontend. +We will consider using full-stack TypeScript over Python or Go backends with a TypeScript frontend.Also applies to: 48-48
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/architecture/decisions/0003-prefer-python-go-and-typescript-in-this-order.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/architecture/decisions/0003-prefer-python-go-and-typescript-in-this-order.md
[style] ~15-~15: ‘in preference to’ might be wordy. Consider a shorter alternative.
Context: ...degree) TypeScript. Use these languages in preference to Bash. ## Decision The team has agreed...
(EN_WORDINESS_PREMIUM_IN_PREFERENCE_TO)
[style] ~48-~48: ‘in preference to’ might be wordy. Consider a shorter alternative.
Context: ...ll consider using full-stack TypeScript in preference to having either a Python or Go backend to...
(EN_WORDINESS_PREMIUM_IN_PREFERENCE_TO)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: pytest-tests
- GitHub Check: code-static-analysis
🔇 Additional comments (1)
docs/architecture/decisions/0003-prefer-python-go-and-typescript-in-this-order.md (1)
9-54: Document quality and structure are strong.The ADR follows proper format with clear sections (Context, Decision, Consequences) and appropriate rationale for the language choices. The language-specific guidance (lines 26–48) provides helpful caveats and context—e.g., acknowledging Python's verbosity trade-off, Go's performance benefits, and TypeScript's web-native strengths. The narrow Bash scope (line 24) is pragmatic and clear.
Note: The PR checklist shows testing and manual verification unchecked; this is reasonable for a documentation-only change.
Description
I fully admit this is less than half-baked at this point, but I believe the core idea of committing to use Python, Go, and TypeScript is already something we can discuss. The decision has been originally made back in Adriel's team, but we never wrote it down back then, besides in that Jira comment.
How Has This Been Tested?
Some time ago we abandoned skodjob/odh-e2e because it was written in Java and we decided not to do Java. That's the Jira I linked above.
Given the teams experience and preferences spreadsheet, Python, Go, and TypeScript seem reasonable choices.
Self checklist (all need to be checked):
make test(gmakeon macOS) before asking for reviewDockerfile.konfluxfiles should be done inodh/notebooksand automatically synced torhds/notebooks. For Konflux-specific changes, modifyDockerfile.konfluxfiles directly inrhds/notebooksas these require special attention in the downstream repository and flow to the upcoming RHOAI release.Merge criteria:
Summary by CodeRabbit