-
Notifications
You must be signed in to change notification settings - Fork 73
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
refactor: centralize resource slot type definitions and improve device metadata handling in /react
#2684
Conversation
Your org requires the Graphite merge queue for merging into mainAdd the label “flow:merge-queue” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “flow:hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
---|---|---|---|
🔴 | Statements | 5.49% (+0.12% 🔼) |
337/6143 |
🔴 | Branches | 5.08% (+0.06% 🔼) |
214/4215 |
🔴 | Functions | 3.12% (+0.04% 🔼) |
63/2019 |
🔴 | Lines | 5.38% (+0.12% 🔼) |
323/5999 |
Show files with reduced coverage 🔻
St.❔ |
File | Statements | Branches | Functions | Lines |
---|---|---|---|---|---|
🔴 | ... / ResourceNumber.tsx |
21.43% (-5.24% 🔻) |
0% | 0% | 21.43% (-5.24% 🔻) |
🔴 | ... / ResourceAllocationFormItems.tsx |
16.33% | 11.67% (-0.1% 🔻) |
13.64% | 15.98% |
Test suite run success
85 tests passing in 11 suites.
Report generated by 🧪jest coverage report action from d52c682
5d3ed00
to
726b291
Compare
a76b485
to
3086120
Compare
/react
/react
3086120
to
8d61cb6
Compare
e6cb569
to
92df5b7
Compare
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.
LGTM.
Merge activity
|
…e metadata handling in `/react` (#2684) ### TL;DR Added support for dynamic accelerator types and improved resource allocation handling. ### What changed? - Introduced `ResourceSlotName` type to handle known and unknown accelerator types - Updated `ResourceTypeIcon` component to use dynamic resource slot details - Modified `ResourceAllocationFormItems` to use resource slot details for display units - Added JSON schema validation for device metadata - Implemented `isMatchingMaxPerContainer` function for flexible config matching - Updated resource limit calculations to support unknown accelerator types ### The steps to add a new accelerator type 1. Add the accelerator type to `knownAcceleratorResourceSlotNames` in `react/src/hooks/backendai.tsx`. 2. Add an icon for the new accelerator type to `resourceTypeIconSrcMap` in `react/src/components/ResourceNumber.tsx`. 3. Add new accelerator metadata to `resources/device_metadata.json`. After following only step 1, you got a TypeScript error related to step 2 and Jest test failures related to step 3. ### How to test? 1. Run the JSON schema validation test for device metadata 2. Test the resource allocation form with various accelerator types 3. Verify that unknown accelerator types are handled correctly in the UI 4. Check if the resource limits are calculated correctly for all accelerator types ### Why make this change? This change improves the flexibility and maintainability of the codebase by: 1. Supporting dynamic accelerator types without hardcoding 2. Ensuring consistency between device metadata and code 3. Improving resource limit calculations for various accelerator types 4. Enhancing the user interface to display correct units for different accelerators These improvements allow for easier addition of new accelerator types and better handling of resource allocation across different devices.
92df5b7
to
d52c682
Compare
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.
This PR is related to #1937
TL;DR
Added support for dynamic accelerator types and improved resource allocation handling.
What changed?
ResourceSlotName
type to handle known and unknown accelerator typesResourceTypeIcon
component to use dynamic resource slot detailsResourceAllocationFormItems
to use resource slot details for display unitsisMatchingMaxPerContainer
function for flexible config matchingThe steps to add a new accelerator type
knownAcceleratorResourceSlotNames
inreact/src/hooks/backendai.tsx
.resourceTypeIconSrcMap
inreact/src/components/ResourceNumber.tsx
.resources/device_metadata.json
.After following only step 1, you got a TypeScript error related to step 2 and Jest test failures related to step 3.
How to test?
Why make this change?
This change improves the flexibility and maintainability of the codebase by:
These improvements allow for easier addition of new accelerator types and better handling of resource allocation across different devices.