Skip to content
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

Improve CI testing #20

Merged
merged 7 commits into from
Mar 9, 2024
Merged

Improve CI testing #20

merged 7 commits into from
Mar 9, 2024

Conversation

romangg
Copy link
Member

@romangg romangg commented Mar 9, 2024

  • Run tests also on release build.
  • Enable Unity Build for test targets. This reduces the compile time by around 40%.
  • Run Clang-Tidy with current config.

romangg added 6 commits March 7, 2024 22:48
There were some fixes in the newest clang-format release.
It is enabled by default, but we disable it of course for release builds, but
also for coverage builds to speed up the compilation in ci.

As a replacement we add another matrix job with the gcc preset to ensure that
all possible gcc compositor warnings as errors are also catched in the example
code.
In general tests should be run in release build configuration. On CI we now run
them in both configurations, release and debug, to get more information.
This significantly reduces the compile time.
With the unity builds there doesn't seem to be an oom problem anymore. An
option is still added to the ci job, so that the number of threads can easily
be reduced in the future in case there are oom problems again.
Copy link

codecov bot commented Mar 9, 2024

Codecov Report

Attention: Patch coverage is 93.50766% with 72 lines in your changes are missing coverage. Please review.

Project coverage is 50.80%. Comparing base (5f25519) to head (e7c856e).

Files Patch % Lines
tests/integration/lockscreen.cpp 0.00% 21 Missing ⚠️
tests/integration/opengl_shadow.cpp 0.00% 15 Missing ⚠️
tests/integration/effects/minimize_animation.cpp 0.00% 8 Missing ⚠️
tests/integration/effects/slidingpopups.cpp 0.00% 7 Missing ⚠️
...ntegration/effects/window_open_close_animation.cpp 0.00% 6 Missing ⚠️
tests/integration/no_crash_no_border.cpp 0.00% 6 Missing ⚠️
tests/integration/buffer_size_change.cpp 0.00% 2 Missing ⚠️
tests/integration/decoration_input.cpp 66.66% 0 Missing and 2 partials ⚠️
...tegration/effects/subspace_switching_animation.cpp 0.00% 2 Missing ⚠️
...s/integration/no_crash_reinitialize_compositor.cpp 0.00% 2 Missing ⚠️
... and 1 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #20      +/-   ##
==========================================
+ Coverage   50.02%   50.80%   +0.78%     
==========================================
  Files         938      938              
  Lines       87251    87395     +144     
  Branches    45466    45307     -159     
==========================================
+ Hits        43645    44402     +757     
+ Misses      38496    38087     -409     
+ Partials     5110     4906     -204     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Using the Wrapland::Client namespace in tests doesn't work with unlimited unity
builds as there is a collision with other X11 types in the global namespace.

This is a theoretical problem, but for correctness let's fix it by not using
the namespace in tests.
@romangg romangg merged commit ac77050 into winft:master Mar 9, 2024
15 checks passed
@romangg romangg deleted the ci-tests branch March 9, 2024 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant