1 # vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
3 ########################################
5 # THIS FILE IS GENERATED, DO NOT EDIT #
7 ########################################
10 # This is a bit complicated for two reasons:
11 # - we really want to run dnf/apt/... only once, updating on the test runner for
12 # each job takes forever. So we create a container image for each distribution
13 # tested, then run the tests on this container image.
15 # Creating a container image is time-consuming, so we only do so for pushes to
16 # libinput directly (not merge requests) and if the current image is 'old'.
18 # - GitLab only allows one script: set per job but we have a bunch of commands
19 # we need to re-run for each build (meson && ninja && etc). YAML cannot merge
20 # arrays templates so we're screwed.
22 # So instead we use a default_build template and override everything with
23 # variables. The only two variables that matter:
24 # MESON_ARGS=-Denable-something=true
25 # NINJA_ARGS=dist ... to run 'ninja -C builddir dist'
26 # Note that you cannot use scripts: in any target if you expect default_build
30 # All jobs must follow the naming scheme of
31 # <distribution>:<version>@activity:
32 # e.g. fedora:31@build-default
34 .templates_sha: &template_sha 395535ce90eb48e260c0dff12c35d9237e22c539 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
37 # Alpine container builder template
38 - project: 'freedesktop/ci-templates'
40 file: '/templates/alpine.yml'
41 # Arch container builder template
42 - project: 'freedesktop/ci-templates'
44 file: '/templates/arch.yml'
45 # Fedora container builder template
46 - project: 'freedesktop/ci-templates'
48 file: '/templates/fedora.yml'
49 # Ubuntu container builder template
50 - project: 'freedesktop/ci-templates'
52 file: '/templates/ubuntu.yml'
55 - prep # prep work like rebuilding the container images if there is a change
56 - build # for actually building and testing things in a container
57 - VM # for running the test suite in a VM
58 - valgrind # for running the test suite under valgrind in a VM
59 - distro # distribs test
60 - deploy # trigger wayland's website generation
61 - container_clean # clean up unused container images
64 ###############################################################################
65 # This is the list of packages required to build libinput with the default #
68 # Run dnf install/apt-get install/.. with the list of packages for your #
71 # See the documentation here: #
72 # https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html #
73 ###############################################################################
74 FEDORA_PACKAGES: 'git gcc gcc-c++ pkgconf-pkg-config meson check-devel libudev-devel libevdev-devel doxygen graphviz python3-sphinx python3-recommonmark python3-sphinx_rtd_theme python3-pytest-xdist libwacom-devel cairo-devel gtk3-devel glib2-devel mtdev-devel diffutils'
75 FEDORA_QEMU_RPMS: 'git gcc gcc-c++ pkgconf-pkg-config meson check-devel libudev-devel libevdev-devel doxygen graphviz python3-sphinx python3-recommonmark python3-sphinx_rtd_theme python3-pytest-xdist libwacom-devel cairo-devel gtk3-devel glib2-devel mtdev-devel diffutils valgrind'
76 UBUNTU_PACKAGES: 'git gcc g++ pkg-config meson check libudev-dev libevdev-dev doxygen graphviz python3-sphinx python3-recommonmark python3-sphinx-rtd-theme python3-pytest-xdist libwacom-dev libcairo2-dev libgtk-3-dev libglib2.0-dev libmtdev-dev'
77 ARCH_PACKAGES: 'git gcc pkgconfig meson check libsystemd libevdev doxygen graphviz python-sphinx python-recommonmark python-sphinx_rtd_theme python-pytest-xdist libwacom gtk3 mtdev diffutils'
78 FREEBSD_BUILD_PKGS: 'meson'
79 FREEBSD_PKGS: 'libepoll-shim libudev-devd libevdev libwacom gtk3 libmtdev '
80 ALPINE_PACKAGES: 'git gcc build-base pkgconfig meson check-dev eudev-dev libevdev-dev libwacom-dev cairo-dev gtk+3.0-dev mtdev-dev bash'
81 ############################ end of package lists #############################
83 # these tags should be updated each time the list of packages is updated
84 # changing these will force rebuilding the associated image
85 # Note: these tags have no meaning and are not tied to a particular
87 FEDORA_TAG: '2020-07-22.0'
88 UBUNTU_TAG: '2020-07-22.0'
89 ARCH_TAG: '2020-07-22.0'
90 ALPINE_TAG: '2020-07-22.0'
91 FREEBSD_TAG: '2020-07-22.0'
92 QEMU_TAG: 'qemu-vm-2020-07-22.0'
94 UBUNTU_EXEC: "bash .gitlab-ci/ubuntu_install.sh $UBUNTU_CUSTOM_DEBS"
96 FREEBSD_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/freebsd/11.2:$FREEBSD_TAG
97 FDO_UPSTREAM_REPO: libinput/libinput
99 MESON_BUILDDIR: "build dir"
102 MESON_TEST_ARGS: '--no-suite=hardware'
104 # udev isn't available/working properly in the containers
105 UDEV_NOT_AVAILABLE: 1
112 - runner_system_failure
113 - stuck_or_timeout_failure
114 # cancel run when a newer version is pushed to the branch
119 name: "meson-logs-$CI_JOB_NAME"
123 - $MESON_BUILDDIR/meson-logs
125 junit: $MESON_BUILDDIR/junit-*.xml
127 #################################################################
131 #################################################################
133 # Re-generate the CI script and make sure it's the one currently checked in
134 # If this job fails, re-generate the gitlab-ci.yml script, see
135 # $SRCDIR/.gitlab-ci/generate-gitlab-ci.py
141 - apk add python3 py-pip git
142 - pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
144 - ci-fairy generate-template
145 - git diff --exit-code && exit 0 || true
146 - echo "Committed gitlab-ci.yml differs from generated gitlab-ci.yml. Please verify"
150 # Verify that commit messages are as expected, signed-off, etc.
157 - apk add python3 py-pip git
158 - pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
160 - ci-fairy check-commits --signed-off-by --junit-xml=results.xml
162 - master@libinput/libinput
170 # Verify that the merge request has the allow-collaboration checkbox ticked
177 - apk add python3 py-pip git
178 - pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
180 - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
188 # Note: images are rebuilt weekly with a scheduled pipeline with FDO_FORCE_REBUILD set
193 - .fdo.qemu-build@fedora
200 FDO_DISTRIBUTION_VERSION: 32
201 FDO_DISTRIBUTION_TAG: $QEMU_TAG
202 FDO_DISTRIBUTION_PACKAGES: $FEDORA_QEMU_RPMS
205 fedora:31@container-prep:
207 - .fdo.container-build@fedora
212 FDO_DISTRIBUTION_VERSION: '31'
213 FDO_DISTRIBUTION_PACKAGES: $FEDORA_PACKAGES
214 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
216 fedora:32@container-prep:
218 - .fdo.container-build@fedora
223 FDO_DISTRIBUTION_VERSION: '32'
224 FDO_DISTRIBUTION_PACKAGES: $FEDORA_PACKAGES
225 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
227 ubuntu:19.10@container-prep:
229 - .fdo.container-build@ubuntu
234 FDO_DISTRIBUTION_VERSION: '19.10'
235 FDO_DISTRIBUTION_PACKAGES: $UBUNTU_PACKAGES
236 FDO_DISTRIBUTION_TAG: $UBUNTU_TAG
238 arch:rolling@container-prep:
240 - .fdo.container-build@arch
245 FDO_DISTRIBUTION_VERSION: 'rolling'
246 FDO_DISTRIBUTION_PACKAGES: $ARCH_PACKAGES
247 FDO_DISTRIBUTION_TAG: $ARCH_TAG
249 alpine:latest@container-prep:
251 - .fdo.container-build@alpine
256 FDO_DISTRIBUTION_VERSION: 'latest'
257 FDO_DISTRIBUTION_PACKAGES: $ALPINE_PACKAGES
258 FDO_DISTRIBUTION_TAG: $ALPINE_TAG
262 # Note that we want to use the latest buildah image, and for that
263 # we use one of the .fdo.container-build@distribution by replacing the
265 .freebsd@container-prep:
268 - .fdo.container-build@fedora
271 # log in to the registry
272 - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
274 # get the full container image name
275 - export IMAGE=freebsd/$FREEBSD_VERSION:$FREEBSD_TAG
277 - if [[ x"$FDO_FORCE_REBUILD" != x ]] ; then touch .rebuild; fi
279 # pull the latest upstream image if it exists
280 - test -e .rebuild || skopeo copy --dest-creds $CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD
281 docker://$CI_REGISTRY/$FDO_UPSTREAM_REPO/$IMAGE
282 docker://$CI_REGISTRY_IMAGE/$IMAGE && exit 0 || true ;
284 # check if our image is already in the current registry
285 - test -e .rebuild || skopeo inspect docker://$CI_REGISTRY_IMAGE/$IMAGE > /dev/null && exit 0 || true ;
287 - export BUILDAH_RUN="buildah run --isolation chroot"
288 - export BUILDAH_COMMIT="buildah commit --format docker"
289 - buildcntr=$(buildah from --quiet myfreeweb/freebsd-cross:latest)
290 - $BUILDAH_RUN $buildcntr apk add --no-cache $FREEBSD_BUILD_PKGS
291 - $BUILDAH_RUN $buildcntr pkg -r /freebsd update -f
292 - $BUILDAH_RUN $buildcntr pkg -r /freebsd install -y $FREEBSD_PKGS
293 - buildah config --workingdir /app $buildcntr
294 # tag the current container
295 - $BUILDAH_COMMIT $buildcntr $FREEBSD_CONTAINER_IMAGE
296 # clean up the working container
297 - buildah rm $buildcntr
299 # push the container image to the libinput registry
300 - podman push --quiet $FREEBSD_CONTAINER_IMAGE
301 - skopeo copy --dest-creds $CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD
302 docker://$FREEBSD_CONTAINER_IMAGE
303 docker://$CI_REGISTRY_IMAGE/freebsd/$FREEBSD_VERSION:$CI_JOB_ID
305 freebsd:11.2@container-prep:
307 - .freebsd@container-prep
310 FREEBSD_VERSION: "11.2"
313 #################################################################
315 # container clean stage #
316 # run during the clean stage #
318 #################################################################
321 # This stage will look for the container images we currently have in
322 # the registry and will remove any that are not tagged with the provided
323 # $container_image:$tag
326 stage: container_clean
331 - apk add python3 py-pip git
332 - pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
334 # Go to your Profile, Settings, Access Tokens
335 # Create a personal token with 'api' scope, copy the value.
336 # Go to CI/CD, Schedules, schedule a new monthly job (or edit the existing one)
337 # Define a variable of type File named AUTHFILE. Content is that token
339 - ci-fairy -v --authfile $AUTHFILE delete-image
340 --repository $FDO_DISTRIBUTION_NAME/$FDO_DISTRIBUTION_VERSION
341 --exclude-tag $FDO_DISTRIBUTION_TAG
347 fedora:31@container-clean:
353 CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
354 FDO_DISTRIBUTION_VERSION: '31'
355 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
357 fedora:32@container-clean:
363 CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
364 FDO_DISTRIBUTION_VERSION: '32'
365 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
367 ubuntu:19.10@container-clean:
372 UBUNTU_VERSION: '19.10'
373 CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/ubuntu/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
374 FDO_DISTRIBUTION_VERSION: '19.10'
375 FDO_DISTRIBUTION_TAG: $UBUNTU_TAG
377 arch:rolling@container-clean:
382 ARCH_VERSION: 'rolling'
383 CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/arch/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
384 FDO_DISTRIBUTION_VERSION: 'rolling'
385 FDO_DISTRIBUTION_TAG: $ARCH_TAG
387 alpine:latest@container-clean:
392 ALPINE_VERSION: 'latest'
393 CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/alpine/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
394 FDO_DISTRIBUTION_VERSION: 'latest'
395 FDO_DISTRIBUTION_TAG: $ALPINE_TAG
398 freebsd:11.2@container-clean:
403 CURRENT_CONTAINER_IMAGE: $FREEBSD_CONTAINER_IMAGE
405 #################################################################
409 #################################################################
417 - .gitlab-ci/meson-build.sh
424 .check_tainted: &check_tainted |
425 # make sure the kernel is not tainted
426 if [[ "$(ssh localhost -p 5555 cat /proc/sys/kernel/tainted)" -gt 0 ]];
428 echo tainted kernel ;
432 # Run in a test suite. Special variables:
433 # - SUITES: the meson test suites to run, or
434 # - SUITE_NAMES: all elements will be expanded to libinput-test-suite-$value
435 # Set one or the other, not both.
439 - .fdo.distribution-image@fedora
444 MESON_BUILDDIR: build_dir
445 # remove the global --no-suite=hardware
448 - if ! [[ -z $SUITE_NAMES ]]; then SUITES=$(echo $SUITE_NAMES | sed 's/\([^ ]*\)/libinput-test-suite-\1/g'); fi
449 - echo "Testing $SUITES"
451 # start our vm, no args required
452 - /app/start_vm.sh || (echo "Error - Failed to start the VM." && exit 1)
456 - "scp -P 5555 -r $PWD localhost:"
457 - echo "CI_JOB_ID=\"$CI_JOB_ID\"" > sshenv
458 - echo "CI_JOB_NAME=\"$CI_JOB_NAME\"" >> sshenv
459 - echo "MESON_ARGS=\"$MESON_ARGS\"" >> sshenv
460 - echo "MESON_BUILDDIR=\"$MESON_BUILDDIR\"" >> sshenv
461 - echo "MESON_TEST_ARGS=\"$MESON_TEST_ARGS $SUITES\"" >> sshenv
462 - echo "NINJA_ARGS=\"$NINJA_ARGS\"" >> sshenv
463 - "scp -P 5555 sshenv localhost:~/$CI_PROJECT_NAME/.meson_environment"
464 - ssh localhost -p 5555 "cd $CI_PROJECT_NAME ; .gitlab-ci/meson-build.sh" && touch .success || true
465 # no matter the results of the tests, we want to fetch the logs
466 - scp -P 5555 -r localhost:$CI_PROJECT_NAME/$MESON_BUILDDIR .
470 - ssh localhost -p 5555 halt || true
474 - if [[ ! -e .success ]] ;
479 name: "qemu-meson-logs-$CI_JOB_NAME"
483 - $MESON_BUILDDIR/meson-logs
486 junit: $MESON_BUILDDIR/junit-*.xml
494 .fedora:32@test-suite-vm:
498 FDO_DISTRIBUTION_VERSION: 32
499 FDO_DISTRIBUTION_TAG: $QEMU_TAG
501 - "fedora:32@qemu-prep"
506 - .fedora:32@test-suite-vm
508 SUITE_NAMES: 'touchpad'
510 vm-touchpad-no-libwacom:
514 MESON_ARGS: '-Dlibwacom=false'
518 - .fedora:32@test-suite-vm
526 MESON_ARGS: '-Dlibwacom=false'
530 - .fedora:32@test-suite-vm
532 SUITE_NAMES: 'tablet'
534 vm-tablet-no-libwacom:
538 MESON_ARGS: '-Dlibwacom=false'
542 - .fedora:32@test-suite-vm
544 SUITE_NAMES: 'gestures device'
546 vm-gestures-device-no-libwacom:
550 MESON_ARGS: '-Dlibwacom=false'
554 - .fedora:32@test-suite-vm
556 SUITE_NAMES: 'context config misc events totem udev lid log timer tablet-mode quirks trackball pad path keyboard switch touch trackpoint'
558 vm-others-no-libwacom:
562 MESON_ARGS: '-Dlibwacom=false'
566 - .fedora:32@test-suite-vm
568 SUITE_NAMES: 'pointer'
570 vm-pointer-no-libwacom:
574 MESON_ARGS: '-Dlibwacom=false'
577 vm-valgrind-touchpad:
582 MESON_TEST_ARGS: '--setup=valgrind'
589 MESON_TEST_ARGS: '--setup=valgrind'
596 MESON_TEST_ARGS: '--setup=valgrind'
598 vm-valgrind-gestures-device:
603 MESON_TEST_ARGS: '--setup=valgrind'
610 MESON_TEST_ARGS: '--setup=valgrind'
617 MESON_TEST_ARGS: '--setup=valgrind'
620 .fedora-build@template:
622 - .fdo.distribution-image@fedora
625 FDO_DISTRIBUTION_VERSION: '32'
626 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
628 - "fedora:32@container-prep"
630 default-build-release@fedora:32:
633 - .fedora-build@template
635 MESON_ARGS: "-Dbuildtype=release"
638 scan-build@fedora:32:
640 - .fedora-build@template
642 NINJA_ARGS: scan-build
645 - dnf install -y clang-analyzer findutils
647 - test ! -d "$MESON_BUILDDIR"/meson-logs/scanbuild && exit 0
648 - test $(find "$MESON_BUILDDIR"/meson-logs/scanbuild -maxdepth 0 ! -empty -exec echo "not empty" \; | wc -l) -eq 0 && exit 0
649 - echo "Check scan-build results"
652 # Below jobs are build option combinations. We only
653 # run them on one image, they shouldn't fail on one distro
654 # when they succeed on another.
656 build-no-libwacom@fedora:32:
658 - .fedora-build@template
660 MESON_ARGS: "-Dlibwacom=false"
662 build-no-libwacom-nodeps@fedora:32:
664 - .fedora-build@template
666 MESON_ARGS: "-Dlibwacom=false"
668 - dnf remove -y libwacom libwacom-devel
670 build-no-docs@fedora:32:
672 - .fedora-build@template
674 MESON_ARGS: "-Ddocumentation=false"
676 build-no-docs-nodeps@fedora:32:
678 - .fedora-build@template
680 MESON_ARGS: "-Ddocumentation=false"
682 - dnf remove -y doxygen graphviz
684 build-no-debuggui@fedora:32:
686 - .fedora-build@template
688 MESON_ARGS: "-Ddebug-gui=false"
690 build-no-debuggui-nodeps@fedora:32:
692 - .fedora-build@template
694 MESON_ARGS: "-Ddebug-gui=false"
696 - dnf remove -y gtk3-devel
698 build-no-tests@fedora:32:
700 - .fedora-build@template
702 MESON_ARGS: "-Dtests=false"
704 build-no-tests-nodeps@fedora:32:
706 - .fedora-build@template
708 MESON_ARGS: "-Dtests=false"
710 - dnf remove -y check-devel
714 - .fedora-build@template
716 MESON_TEST_ARGS: '--suite=valgrind --no-suite=hardware --setup=valgrind'
718 - dnf install -y valgrind
720 # Python checks, only run on Fedora
722 usr-bin-env-python@fedora:32:
724 - .fedora-build@template
727 if git grep -l '^#!/usr/bin/python'; then
728 echo "Use '/usr/bin/env python3' in the above files";
734 - .fedora-build@template
736 - dnf install -y python3-flake8
738 - flake8-3 --ignore=W501,E501,W504 $(git grep -l '^#!/usr/bin/env python3')
744 # This requires the COVERITY_SCAN_TOKEN. Log into scan.coverity.com and get
745 # the token from the respective project settings page.
746 # Schedule a pipeline and set a variable COVERITY_SCAN_TOKEN with the token value.
747 # https://gitlab.freedesktop.org/$CI_PROJECT_PATH/-/pipeline_schedules
748 # Email from coverity will be sent to the GITLAB_USER_EMAIL that scheduled the
751 # Coverity ratelimits submissions and the coverity tools download is about
752 # 700M, do not run this too often.
756 - .fdo.distribution-image@fedora
760 # coverity doesn't work on Fedora 32
761 FDO_DISTRIBUTION_VERSION: '31'
762 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
763 # so git-describe works, or should work
767 - $COVERITY_SCAN_TOKEN
769 - curl https://scan.coverity.com/download/linux64
770 -o /tmp/cov-analysis-linux64.tgz
771 --form project=$CI_PROJECT_NAME
772 --form token=$COVERITY_SCAN_TOKEN
773 - tar xfz /tmp/cov-analysis-linux64.tgz
774 # coverity has special build options in meson, make sure we enable those
775 - meson coverity-build -Ddocumentation=false -Dcoverity=true
776 - cov-analysis-linux64-*/bin/cov-build --dir cov-int ninja -C coverity-build
777 - tar cfz cov-int.tar.gz cov-int
778 - curl https://scan.coverity.com/builds?project=$CI_PROJECT_NAME
779 --form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL
780 --form file=@cov-int.tar.gz --form version="$(git describe --tags)"
781 --form description="$(git describe --tags) / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID"
783 name: "coverity-submit-data"
789 - "fedora:31@container-prep"
791 #################################################################
795 #################################################################
797 fedora:31@default-build:
801 - .fdo.distribution-image@fedora
803 FDO_DISTRIBUTION_VERSION: '31'
804 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
806 - "fedora:31@container-prep"
809 fedora:32@default-build:
813 - .fdo.distribution-image@fedora
815 FDO_DISTRIBUTION_VERSION: '32'
816 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
818 - "fedora:32@container-prep"
821 ubuntu:19.10@default-build:
825 - .fdo.distribution-image@ubuntu
827 FDO_DISTRIBUTION_VERSION: '19.10'
828 FDO_DISTRIBUTION_TAG: $UBUNTU_TAG
830 - "ubuntu:19.10@container-prep"
833 arch:rolling@default-build:
837 - .fdo.distribution-image@arch
839 FDO_DISTRIBUTION_VERSION: 'rolling'
840 FDO_DISTRIBUTION_TAG: $ARCH_TAG
842 - "arch:rolling@container-prep"
845 alpine:latest@default-build:
849 - .fdo.distribution-image@alpine
851 FDO_DISTRIBUTION_VERSION: 'latest'
852 FDO_DISTRIBUTION_TAG: $ALPINE_TAG
853 MESON_ARGS: '-Ddocumentation=false' # alpine does not have python-recommonmark
854 MESON_TEST_ARGS: '' # litest-selftest fails on musl
856 - "alpine:latest@container-prep"
867 image: $FREEBSD_CONTAINER_IMAGE
869 MESON_ARGS: '--cross-file freebsd -Ddocumentation=false -Dtests=false -Depoll-dir=/freebsd/usr/local/'
870 # Can't run FreeBSD tests on Linux machine, so MESON_TEST_ARGS shouldn't be "test"
873 freebsd:11.2@default-build:
877 - "freebsd:11.2@container-prep"
885 - .fdo.distribution-image@fedora
889 FDO_DISTRIBUTION_VERSION: '32'
890 FDO_DISTRIBUTION_TAG: $FEDORA_TAG
892 - "fedora:32@container-prep"
894 - dnf install -y rpmdevtools jq
895 - meson "$MESON_BUILDDIR"
896 - VERSION=$(meson introspect "$MESON_BUILDDIR" --projectinfo | jq -r .version)
897 - sed -e "s/@PIPELINEID@/${CI_PIPELINE_ID}/"
898 -e "s/@GITVERSION@/${CI_COMMIT_SHA}/"
899 -e "s/@VERSION@/${VERSION}/" .gitlab-ci/libinput.spec.in > libinput.spec
900 - git config --local user.name 'gitlab CI'
901 - git config --local user.email 'noreply@nowhere'
902 - git add libinput.spec && git commit -m 'Add libinput.spec for build testing' libinput.spec
903 - cd "$MESON_BUILDDIR"
904 - meson dist --no-test
905 - rpmbuild -ta meson-dist/libinput*.tar.xz
913 # - variable WAYLAND_WEB_TOKEN defined as type File in libinput's CI/CD settings
914 # - content of that file is the token value, as generated by the Pipeline Triggers
915 # of the wayland.freedesktop.org project.
916 - curl --request POST
917 --form "token=<$WAYLAND_WEB_TOKEN"
919 https://gitlab.freedesktop.org/api/v4/projects/wayland${SLASH}wayland${DOT}freedesktop${DOT}org/trigger/pipeline
927 - $CI_PROJECT_PATH == "libinput/libinput"