-
Notifications
You must be signed in to change notification settings - Fork 185
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
Hard integrate UI stories #9220
Conversation
👋 Hello! Thanks for contributing to our project. If you are unsure the failing tests are related to your code, you can check the "reference jobs". These are jobs that run on a scheduled time with code from master. If they fail for the same reason as your build, it means the tests or the infrastructure are broken. If they do not fail, but yours do, it means it is related to your code. Reference tests: KNOWN ISSUES Sometimes the build can fail when pulling new jar files from download.opensuse.org . This is a known limitation. Given this happens rarely, when it does, all you need to do is rerun the test. Sorry for the inconvenience. For more tips on troubleshooting, see the troubleshooting guide. Happy hacking! |
Suggested tests to cover this Pull Request
|
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
* Add ui debug page controller * Add build time tooling to bundle stories * Add ui debug page frontend * Add missing types * Migrate all stories, refactor directory structure * Fix lint * Add changes
* Fix custom column classes in the updated theme * Fix missing leading slash in search pathname * Fix alert layout in formula catalog in the updated theme * Fix layout mismatch in patches management * Improved viewport size check * Refactor deployment to remove code duplication and support multiple deployment modes * Fixed stretched button issue * Fix input addon sizing * Refactor deployment to remove code duplication and support multiple deployment modes * Migrate HTTP proxy, fix setup wizard layout issues (#9162) * Fix setup wizard alignment issues * Fix http proxy setup page * Fix image alignment * Initial migration work for CLM pages * Fix form group offset * Hard integrate UI stories (#9220) * Add ui debug page controller * Add build time tooling to bundle stories * Add ui debug page frontend * Add missing types --------- Co-authored-by: Thomas Florio <thomas.florio@suse.com> Co-authored-by: Richa <richa.bisht@suse.com>
* Fix custom column classes in the updated theme * Fix missing leading slash in search pathname * Fix alert layout in formula catalog in the updated theme * Fix layout mismatch in patches management * Improved viewport size check * Refactor deployment to remove code duplication and support multiple deployment modes * Fixed stretched button issue * Fix input addon sizing * Refactor deployment to remove code duplication and support multiple deployment modes * Migrate HTTP proxy, fix setup wizard layout issues (uyuni-project#9162) * Fix setup wizard alignment issues * Fix http proxy setup page * Fix image alignment * Initial migration work for CLM pages * Fix form group offset * Hard integrate UI stories (uyuni-project#9220) * Add ui debug page controller * Add build time tooling to bundle stories * Add ui debug page frontend * Add missing types --------- Co-authored-by: Thomas Florio <thomas.florio@suse.com> Co-authored-by: Richa <richa.bisht@suse.com>
What does this PR change?
Background
This change set requires some historic context. A long time ago we used to use Storybook for frontend stories to aid in UI development. Storybook worked fine when it did work, but it had two major issues: Dependabot and breaking changes.
Since Storybook has a very large dependency tree, it would give us a lot of security issues in Dependabot. While these are development dependencies, we have customers who scan the whole repo and their compliance department is unhappy with those flags. Since all of these issues are far detached form us, keeping things clean at all times proved to be an overwhelming amount of work.
The other side is breaking changes. With every major release, Storybook changed some api or some config, which again gave us more busywork without much upside. At the same time, we needed to keep up with the updates since we needed to cross out Dependabot issues.
In short, a lot of extra work that did not give us much upside. This led us to try React Styleguidist, but this approach had roughly all the same problems than the previous approach. Not much doing on this particular occasion.
What is this pull request
This pull request ditches the latter and adds a simple page which renders our already existing stories. This has a number of benefits:
The downsides:
This aims to deliver two core things, one to considerably reduce maintenance overhead to keep stories working, and two to ensure stories are always up to date with the rest of the product. While we lose features that Storybook and the like provide, this way we can at least have it working, which is better than the option that it's fancy, but doesn't work.
If there is additional functionality we need, it's mostly straightforward to add ourselves.
How to review this PR
Please note that the target branch for this PR is not master, but is instead the Bootstrap migration feature branch, since it relies on changes from that branch.
The change set is big, but nearly all of it is just automatic refactoring changes. To make reviewing easier, I've split it up into commits that are reasonable to look at separately.
For Java:
For frontend:
GUI diff
Adds a new hidden page not accessible by the menu, see e.g.
/rhn/manager/storybook#messages
Documentation
No documentation needed: internal use only
DONE
Test coverage
ℹ️ If a major new functionality is added, it is strongly recommended that tests for the new functionality are added to the Cucumber test suite
No tests: already covered
DONE
Links
A precursor for working on https://github.com/SUSE/spacewalk/issues/24242
Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:
If you uncheck the checkbox after the PR is created, you will need to re-run
changelog_test
(see below)Re-run a test
If you need to re-run a test, please mark the related checkbox, it will be unchecked automatically once it has re-run:
Before you merge
Check How to branch and merge properly!