-
Notifications
You must be signed in to change notification settings - Fork 367
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
tech-story: [M3-8940] - Dev Tools fixes and improvements #11328
Conversation
'VPCs', | ||
] as const; | ||
|
||
export type AccountCapability = typeof accountCapabilities[number]; |
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 changes nothing to the types, just allows to export the values
</details> | ||
</ul> | ||
); | ||
}; |
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.
Allowing recursiveness so the JSON flag can be as deep as needed and represented here
Left to do: handle the cases for when a flag is something else than a boolean, which we rarely do
|
||
const FieldWrapper = ({ children }: { children: React.ReactNode }) => { | ||
return <div className="dev-tools__modal-form__field">{children}</div>; | ||
}; |
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.
Before we were only providing a static factory override. This updates allows much more flexibility for both the response.
674f537
to
86d2c60
Compare
Coverage Report: ✅ |
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.
Nice work overall, I actually used the account preset for my testing today for OBJ. 🔥
packages/manager/src/dev-tools/components/ExtraPresetProfile.tsx
Outdated
Show resolved
Hide resolved
packages/manager/src/dev-tools/components/ExtraPresetProfile.tsx
Outdated
Show resolved
Hide resolved
593d833
to
33438f1
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 is extremely cool @abailly-akamai, thanks for taking the time to add all this!
One technical question -- I was just messing around with the new feature flag work and tried to add a new JSON flag, but it's showing up in the dev tools as a checkbox. Can you spot what I did wrong?
// featureFlags.ts
interface JustMessingAroundFlag extends BaseFeatureFlag {
optionA: boolean;
optionB: boolean;
}
export interface Flags {
justMessingAround: JustMessingAroundFlag;
// ...
}
// FeatureFlagTool.tsx
const options: { flag: keyof Flags; label: string }[] = [
{ flag: 'justMessingAround', label: 'Just Messing Around' },
// ...
];
Existing flags seem to work fine -- for example, I added the cloudManagerDesignUpdatesBanner
flag to the array in FeatureFlagTool.tsx
, and it showed up as expected, so I'm thinking I must be doing something wrong with the way I've set up my flag.
Either way, these are all such nice/powerful improvements! Thanks again Alban!
Cloud Manager UI test results🔺 1 failing test on test run #8 ↗︎
Details
TroubleshootingUse this command to re-run the failing tests: yarn cy:run -s "cypress/e2e/core/billing/smoke-billing-activity.spec.ts" |
@jdamore-linode could it simply be the fact that |
Ah thanks! I didn't realize they had to be tied to the actual Launch Darkly data since it's being mocked. |
Cloud Manager E2E Run #6932
Run Properties:
|
Project |
Cloud Manager E2E
|
Branch Review |
develop
|
Run status |
Failed #6932
|
Run duration | 33m 53s |
Commit |
5ac188d110: tech-story: [M3-8940] - Dev Tools fixes and improvements (#11328)
|
Committer | Alban Bailly |
View all properties for this run ↗︎ |
Test results | |
---|---|
Failures |
2
|
Flaky |
5
|
Pending |
2
|
Skipped |
0
|
Passing |
464
|
View all changes introduced in this branch ↗︎ |
Tests for review
linodes/clone-linode.spec.ts • 1 failed test
Test | Artifacts | |
---|---|---|
clone linode > can clone a Linode from Linode details page |
Screenshots
Video
|
billing/smoke-billing-activity.spec.ts • 1 failed test
Test | Artifacts | |
---|---|---|
Billing Activity Feed > displays correct timezone for invoice and payment dates |
Screenshots
Video
|
linodes/switch-linode-state.spec.ts • 1 flaky test
Test | Artifacts | |
---|---|---|
switch linode state > reboots a linode from landing page |
Screenshots
Video
|
linodes/resize-linode.spec.ts • 1 flaky test
Test | Artifacts | |
---|---|---|
resize linode > resizes a linode by increasing size when offline: cold migration |
Screenshots
Video
|
linodes/linode-config.spec.ts • 1 flaky test
Test | Artifacts | |
---|---|---|
Linode Config management > End-to-End > Clones a config |
Screenshots
Video
|
kubernetes/lke-create.spec.ts • 1 flaky test
Test | Artifacts | |
---|---|---|
LKE Cluster Creation > can create an LKE cluster |
Screenshots
Video
|
linodes/create-linode-with-user-data.spec.ts • 1 flaky test
Test | Artifacts | |
---|---|---|
Create Linode with user data > cannot specify user data when selected image does not support it |
Screenshots
Video
|
Description 📝
Long overdue updates to our beloved Dev Tools. This PR does not touch any client code. Brings a lot of improvements and fixes to presets and mocking.
Note
Code quality/readability/reusability is not as high as it would be for client code, tho I tried best to achieve that while working quickly. The goal aims to help the developer experience first 💨
Changes 🔄
Target release date 🗓️
Please specify a release date (and environment, if applicable) to guarantee timely review of this PR. If exact date is not known, please approximate and update it as needed.
Preview 📷
How to test 🧪
Verification steps
As an Author, I have considered 🤔
👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support
I have read and considered all applicable items listed above.
As an Author, before moving this PR from Draft to Open, I confirmed ✅