Commit graph

28 commits

Author SHA1 Message Date
Simon Ser
83ae3f5515 ci: remove unnecessary "Testing checks" stage
Merge the stage into "Build and test". The next stages don't depend
on this stage, so we can parallelize, no need to block the next
stages because of the testing-check step.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-27 11:56:27 +00:00
Sebastian Wick
eed3e1e0f8 test: remove edid-decode as a test dependency
by storing the reference edid-decode output in the repository. It is now
only a dependency for the gen-test-data target. The CI checks that the
reference output in the repository matches the one generated from a
specific checkout of edid-decode.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-23 20:50:13 +01:00
Sebastian Wick
0ec8330345 ci: adjust testing check script to 'set -e'
With 'set -e' any failing command will terminate the script but we want
to print a message before exiting. Checking the exit code of a previous
failing command does not work. Print the message in the same command
instead.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-23 20:48:56 +01:00
Sebastian Wick
8ec4aa2c84 ci: create new stage for checking the testing data
We will add more checks in the next commit which require an image which
can run meson and ninja.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-22 22:23:03 +01:00
Sebastian Wick
23be3830c0 test: Bump edid-decode to newer version
The InfoFrame printing has changed and is compared against in the next
commit.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-31 14:50:49 +01:00
Sebastian Wick
883f469577 test: Document where each EDID blob is from
Also make sure we don't add new blobs without documenting the source
with a check in the CI.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-20 18:25:55 +01:00
Sebastian Wick
6c8d466c03 ci: always build documentation
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-10 15:44:52 +01:00
Simon Ser
b21fdb3a0d ci: pin Alpine version
This prevents the Alpine image from being upgraded to a new major
version when re-generated. ci-templates defaults FDO_BASE_IMAGE to
alpine:latest.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-24 10:27:13 +01:00
Simon Ser
6b8bdb5b3b ci: upgrade edid-decode
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-23 15:30:28 +01:00
Simon Ser
7289c6ea59 ci: upgrade to Alpine 3.17
This gives us the hwdata package.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-23 14:23:59 +00:00
Pekka Paalanen
3c675db02f ci: install hwdata
This is needed for the following patch to find pnp.ids.

This is not available in the Alpine release we are using right now.

That --disable-blacklist works around the error:
install: unrecognized option: T
BusyBox v1.35.0 (2022-08-01 15:14:44 UTC) multi-call binary.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-11-09 14:18:24 +02:00
Simon Ser
619fc30c7b ci: update edid-decode
Contains a fix for DsiplayID tiled display topology and for CVT
RBv3.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-11 11:48:29 +00:00
Simon Ser
ec2521e4e0 Generate HTML documentation
Leverages gyosu [1] to generate HTML documentation from the header
files.

[1]: https://sr.ht/~emersion/gyosu/

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-04 16:21:46 +00:00
Simon Ser
2fc4aedee7 ci: simplify ci-templates include
Turns out we can include multiple files with an array instead of
repeating ourselves.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-08 12:19:50 +02:00
Andrea Pappacoda
2d889cead4
build: stop using meson's implicit setup command
It will be deprecated in the next release, 0.64.0. See
https://github.com/mesonbuild/meson/pull/10701

Signed-off-by: Andrea Pappacoda <andrea@pappacoda.it>
2022-08-23 23:14:31 +02:00
Simon Ser
41507c0b5f ci: update edid-decode
This new version contains a fix for a bogus failure message.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-15 14:58:59 +02:00
Simon Ser
4a4ee90888 ci: disable parallel jobs for coverage reports
Running in parallel results in spurious failures:
https://gitlab.freedesktop.org/emersion/libdisplay-info/-/jobs/24101687

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-16 11:12:06 +00:00
Simon Ser
999a4d4c57 ci: build with both GCC and Clang
These two compilers may have different warnings. Make sure we
don't miss any.

The Clang build also supports ASan + UBSan.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-16 11:12:06 +00:00
Simon Ser
ffb81c9bef ci: mention how to force a container rebuild when pushing
This should remove the risk to merge a patch with the
FDO_FORCE_REBUILD line uncommented. Mentionning the command in the
manifest makes it easier to remember.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-14 12:03:10 +00:00
Simon Ser
c05fbc875b ci: generate coverage information
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-08 10:49:37 +02:00
Simon Ser
24b2ea134f ci: enable meson --fatal-meson-warnings
This allows us to catch issues such as unknown build options and
newer Meson features used without a bump in meson.build's project().

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-08 08:29:16 +00:00
Simon Ser
6ae12d067e ci: add junit report for tests
Allows GitLab to get structured test results.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-06 15:37:16 +02:00
Simon Ser
b479e68220 ci: always upload Meson logs as artifacts
Previously, the artifacts weren't uploaded on failure.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-05-25 11:26:55 +02:00
Simon Ser
3d7a9bb77c ci: fix tests with outdated edid-decode
It sounds like the CI container was shipping an outdated version
of edid-decode which doesn't match the commit recorded in
.gitlab-ci.yml.

Update the diffs in the test data, and bump the CI container tag
again to make sure it's up-to-date with the manifest.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-05-24 17:58:09 +02:00
Simon Ser
a8e78208a5 Add edid-decode testing infrastructure
Add two small shell utilities to generate and compare diffs between
edid-decode and di-edid-decode. Store the diffs in-tree and add tests
to ensure they don't regress. Run the tests in CI with a pinned
installation of edid-decode.

One EDID blob is added to the test collection: dell-2408wfp-dp. It's
extracted [1] from the edid-decode repository.

[1]: https://git.linuxtv.org/edid-decode.git/tree/data/dell-2408wfp-dp

Signed-off-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/emersion/libdisplay-info/-/issues/5
2022-05-12 11:35:58 +02:00
Simon Ser
73b763d6b4 ci: fix build stage not run in MRs
See https://docs.gitlab.com/ee/ci/yaml/#rules

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-04-04 21:57:50 +02:00
Simon Ser
79fbb1ec39 build: add Meson boilerplate
Add a minimal Meson build file, and wire it up to CI.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-03-24 02:32:58 +01:00
Simon Ser
7e5903d8b3 ci: add .gitlab-ci.yml
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-03-24 02:16:08 +01:00