-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
E2E comparison in CI #3894
E2E comparison in CI #3894
Conversation
* develop: (44 commits) Update docs Add `workflow_dispatch` to lint.yml chore: update docs folder lint fix typescript error fix(docs): build the docs fix(docs): remove duplicate section chore(deps): update all non-major dependencies Update docs/misc/integrations.md Add links to github atom add-ons remove links from atom.io; add note Atom has been archived set svg role to 'graphics-document document' common function for a11y; add to renderAsync; + renderAsync spec feat: add links to theme listing fix cspell fix cspell fix lint refactor theming doc remove typeof use camelCase ...
@aloisklink, I need some help here... There are around 6 failing diagrams now, which are available in the last failed test here For some others, it is subtle rendering differences between CI (ubuntu) & my machine (macOS). Furthermore, what should the ideal dev flow look like?
In this case, we can skip the local rendering and let the CI handle it. |
Yep! It should do. If you give me a link to the Mermaid diagram that is failing to render, I can try investigating which font it uses locally, so we can add it to CI. There's more discussion in #3491 that might help :) (we should probably added
You can install Even on MacOS, these will normally be installed, since they come with Microsoft Office and other Microsoft programs, that you'll normally install on a Mac. However, installing
Docker won't help if you're running on an ARM based system, since then all of your Docker images are ARM-based too, and so things like CSS shadows might be slightly different compared to x86_64 machines. (floating point numbers are always fun!! I believe due to ClearType/FreeType, you might also get different results depending on what your sub-pixel arrangement your computer's monitor has 😱 The only way to make rendering consistent is to only render in CI on the same OS.
CI pushing to a PR gets messy, especially if people are making PRs from forks. Plus, if possible, we shouldn't store snapshots in the main Mermaid repo, as it will blow up the size of the Git repo (if a snapshot changes 100 times, then each time somebody How about this instead:
|
📑 Summary
Run e2e image diff tests in CI.
TODO: Test
ssim
diff algorithm, if tests are flaky.📏 Design Decisions
Screenshots are checked into the repo.
If there are issues, we can use
📋 Tasks
Make sure you
develop
branch