2022-09-08 12:14:52 +02:00
|
|
|
.templates_sha: &templates_sha d5aa3941aa03c2f716595116354fb81eb8012acb
|
2022-03-24 02:20:55 +01:00
|
|
|
|
2022-03-24 01:48:28 +01:00
|
|
|
include:
|
|
|
|
- project: 'freedesktop/ci-templates'
|
2022-03-24 02:20:55 +01:00
|
|
|
ref: *templates_sha
|
2022-03-24 01:48:28 +01:00
|
|
|
file: '/templates/ci-fairy.yml'
|
2022-03-24 02:20:55 +01:00
|
|
|
- project: 'freedesktop/ci-templates'
|
|
|
|
ref: *templates_sha
|
|
|
|
file: '/templates/alpine.yml'
|
2022-09-08 12:14:52 +02:00
|
|
|
- project: 'freedesktop/ci-templates'
|
|
|
|
ref: *templates_sha
|
|
|
|
file: '/templates/freebsd.yml'
|
2022-03-24 02:20:55 +01:00
|
|
|
|
2022-09-08 11:52:45 +02:00
|
|
|
# When updating a prepare-container-* step, make sure to bump
|
2022-03-28 11:17:07 +02:00
|
|
|
# FDO_DISTRIBUTION_TAG, otherwise the container won't get rebuilt.
|
2022-06-10 19:44:44 +02:00
|
|
|
# To force a rebuild of the container, use:
|
|
|
|
# $ git push -f -o ci.variable="FDO_FORCE_REBUILD=1"
|
2022-03-24 02:20:55 +01:00
|
|
|
variables:
|
|
|
|
FDO_UPSTREAM_REPO: 'emersion/libdisplay-info'
|
2022-09-08 12:14:52 +02:00
|
|
|
FDO_DISTRIBUTION_TAG: '2022-00-08.0'
|
2022-09-08 12:07:24 +02:00
|
|
|
MESON_FLAGS: '--fatal-meson-warnings -Dwerror=true'
|
2022-03-24 01:48:28 +01:00
|
|
|
|
|
|
|
stages:
|
|
|
|
- "Contribution checks"
|
2022-03-24 02:20:55 +01:00
|
|
|
- "Prepare container"
|
|
|
|
- "Build and test"
|
2022-03-24 01:48:28 +01:00
|
|
|
|
|
|
|
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
|
2022-03-24 02:20:55 +01:00
|
|
|
|
2022-09-08 12:07:24 +02:00
|
|
|
.prepare-container:
|
2022-03-24 02:20:55 +01:00
|
|
|
stage: "Prepare container"
|
|
|
|
variables:
|
2022-03-28 11:17:07 +02:00
|
|
|
FDO_DISTRIBUTION_EXEC: |
|
|
|
|
git clone git://linuxtv.org/edid-decode.git
|
|
|
|
cd edid-decode
|
2022-08-15 14:58:59 +02:00
|
|
|
git checkout 6816e6a691f40e6fbb64e6d40f012d7727c6315f
|
2022-03-28 11:17:07 +02:00
|
|
|
make
|
|
|
|
make install
|
|
|
|
cd ..
|
|
|
|
rm -rf edid-decode
|
2022-04-04 21:57:50 +02:00
|
|
|
rules:
|
|
|
|
- when: on_success
|
2022-03-24 02:20:55 +01:00
|
|
|
|
2022-09-08 12:07:24 +02:00
|
|
|
prepare-container-alpine:
|
|
|
|
extends:
|
|
|
|
- .prepare-container
|
|
|
|
- .fdo.container-build@alpine@x86_64
|
|
|
|
variables:
|
|
|
|
FDO_DISTRIBUTION_PACKAGES: |
|
|
|
|
build-base clang compiler-rt meson make git gcovr py3-pygments
|
|
|
|
|
2022-09-08 12:14:52 +02:00
|
|
|
prepare-container-freebsd:
|
|
|
|
extends:
|
|
|
|
- .prepare-container
|
|
|
|
- .fdo.container-build@freebsd
|
|
|
|
variables:
|
|
|
|
FDO_DISTRIBUTION_PACKAGES: |
|
|
|
|
meson git
|
|
|
|
|
2022-09-08 12:07:24 +02:00
|
|
|
.build:
|
2022-03-24 02:20:55 +01:00
|
|
|
stage: "Build and test"
|
|
|
|
artifacts:
|
2022-05-25 11:26:37 +02:00
|
|
|
when: always
|
2022-03-24 02:20:55 +01:00
|
|
|
paths:
|
|
|
|
- build/meson-logs/
|
2022-06-06 15:37:16 +02:00
|
|
|
reports:
|
|
|
|
junit: build/meson-logs/testlog.junit.xml
|
2022-04-04 21:57:50 +02:00
|
|
|
rules:
|
|
|
|
- when: on_success
|
2022-06-16 11:04:00 +02:00
|
|
|
|
2022-09-08 12:07:24 +02:00
|
|
|
build-alpine-gcc:
|
|
|
|
extends:
|
|
|
|
- .build
|
|
|
|
- .fdo.distribution-image@alpine
|
2022-06-16 11:04:00 +02:00
|
|
|
script:
|
2022-09-08 12:07:24 +02:00
|
|
|
- CC=gcc meson setup build/ $MESON_FLAGS -Db_coverage=true
|
2022-06-16 11:04:00 +02:00
|
|
|
- ninja -C build/
|
|
|
|
- ninja -C build/ test
|
2022-09-08 12:07:24 +02:00
|
|
|
- ninja -C build/ -j1 coverage-xml coverage-html
|
2022-06-16 11:04:00 +02:00
|
|
|
artifacts:
|
|
|
|
reports:
|
2022-09-08 12:07:24 +02:00
|
|
|
coverage_report:
|
|
|
|
coverage_format: cobertura
|
|
|
|
path: build/meson-logs/coverage.xml
|
|
|
|
|
|
|
|
build-alpine-clang:
|
|
|
|
extends:
|
|
|
|
- .build
|
|
|
|
- .fdo.distribution-image@alpine
|
|
|
|
script:
|
|
|
|
- CC=clang meson setup build/ $MESON_FLAGS -Db_sanitize=address,undefined -Db_lundef=false
|
|
|
|
- ninja -C build/
|
|
|
|
- ninja -C build/ test
|
2022-09-08 12:14:52 +02:00
|
|
|
|
|
|
|
build-freebsd:
|
|
|
|
extends:
|
|
|
|
- .build
|
|
|
|
- .fdo.distribution-image@freebsd
|
|
|
|
script:
|
|
|
|
- meson setup build/ $MESON_FLAGS
|
|
|
|
- ninja -C build/
|
|
|
|
- ninja -C build/ test
|