mirror of
https://gitlab.freedesktop.org/emersion/libdisplay-info.git
synced 2024-12-27 21:59:22 +01:00
ec2521e4e0
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>
102 lines
2.8 KiB
YAML
102 lines
2.8 KiB
YAML
include:
|
|
- project: 'freedesktop/ci-templates'
|
|
ref: 3f37cc0e461f5b0c815409bf6f55759f26a74e9c
|
|
file:
|
|
- '/templates/ci-fairy.yml'
|
|
- '/templates/alpine.yml'
|
|
|
|
# When updating the prepare-container step, make sure to bump
|
|
# FDO_DISTRIBUTION_TAG, otherwise the container won't get rebuilt.
|
|
# To force a rebuild of the container, use:
|
|
# $ git push -f -o ci.variable="FDO_FORCE_REBUILD=1"
|
|
variables:
|
|
FDO_UPSTREAM_REPO: 'emersion/libdisplay-info'
|
|
FDO_DISTRIBUTION_TAG: '2022-09-28.0'
|
|
|
|
stages:
|
|
- "Contribution checks"
|
|
- "Prepare container"
|
|
- "Build and test"
|
|
|
|
check-mr:
|
|
extends: .fdo.ci-fairy
|
|
stage: "Contribution checks"
|
|
script:
|
|
- ci-fairy check-commits --signed-off-by
|
|
- ci-fairy check-merge-request --require-allow-collaboration
|
|
rules:
|
|
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
|
|
when: always
|
|
- when: never
|
|
|
|
prepare-container:
|
|
extends: .fdo.container-build@alpine@x86_64
|
|
stage: "Prepare container"
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: |
|
|
build-base clang compiler-rt meson make git gcovr py3-pygments go
|
|
FDO_DISTRIBUTION_EXEC: |
|
|
git clone git://linuxtv.org/edid-decode.git
|
|
cd edid-decode
|
|
git checkout 6816e6a691f40e6fbb64e6d40f012d7727c6315f
|
|
make
|
|
make install
|
|
cd ..
|
|
rm -rf edid-decode
|
|
|
|
go install git.sr.ht/~emersion/gyosu@latest
|
|
mv ~/go/bin/gyosu /usr/bin/
|
|
rm -rf ~/go
|
|
rules:
|
|
- when: on_success
|
|
|
|
build-gcc:
|
|
extends: .fdo.distribution-image@alpine
|
|
stage: "Build and test"
|
|
script:
|
|
- CC=gcc meson setup build/ --fatal-meson-warnings -Dwerror=true -Db_coverage=true
|
|
- ninja -C build/
|
|
- ninja -C build/ test
|
|
- ninja -C build/ -j1 coverage-xml coverage-html
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build/meson-logs/
|
|
reports:
|
|
junit: build/meson-logs/testlog.junit.xml
|
|
coverage_report:
|
|
coverage_format: cobertura
|
|
path: build/meson-logs/coverage.xml
|
|
rules:
|
|
- when: on_success
|
|
|
|
build-clang:
|
|
extends: .fdo.distribution-image@alpine
|
|
stage: "Build and test"
|
|
script:
|
|
- CC=clang meson setup build/ --fatal-meson-warnings -Dwerror=true -Db_sanitize=address,undefined -Db_lundef=false
|
|
- ninja -C build/
|
|
- ninja -C build/ test
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build/meson-logs/
|
|
reports:
|
|
junit: build/meson-logs/testlog.junit.xml
|
|
rules:
|
|
- when: on_success
|
|
|
|
pages:
|
|
extends: .fdo.distribution-image@alpine
|
|
stage: "Build and test"
|
|
script:
|
|
- gyosu -I$PWD/include/ -fexported-symbols='di_*'
|
|
-ffile-prefix-map=$PWD/include/= -fsite-name=libdisplay-info
|
|
-o public $PWD/include/libdisplay-info/
|
|
artifacts:
|
|
paths:
|
|
- public/
|
|
rules:
|
|
- if: '$CI_PROJECT_PATH == "emersion/libdisplay-info" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
|
when: on_success
|
|
- when: never
|