summaryrefslogtreecommitdiff
path: root/lib/libxcvt/.gitlab-ci
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2021-10-27 16:11:43 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2021-10-27 16:11:43 +0000
commitbe7e572084cfa887b0205638e85d83af6ab2aa14 (patch)
tree66fb8affa086a1a1ab43396659c73888c8616663 /lib/libxcvt/.gitlab-ci
parent54b04809c2a999bbdd04887a3fd87ba4bc6fd0c8 (diff)
import libxcvt, needed by future X server update.
Diffstat (limited to 'lib/libxcvt/.gitlab-ci')
-rw-r--r--lib/libxcvt/.gitlab-ci/ci.template116
-rw-r--r--lib/libxcvt/.gitlab-ci/config.yml9
-rwxr-xr-xlib/libxcvt/.gitlab-ci/meson-build.sh48
3 files changed, 173 insertions, 0 deletions
diff --git a/lib/libxcvt/.gitlab-ci/ci.template b/lib/libxcvt/.gitlab-ci/ci.template
new file mode 100644
index 000000000..465c65342
--- /dev/null
+++ b/lib/libxcvt/.gitlab-ci/ci.template
@@ -0,0 +1,116 @@
+{# You're looking at the template here, so you can ignore the below
+ warning. This is the right file to edit #}
+
+#####################################################
+# #
+# THIS FILE IS GENERATED, DO NOT EDIT! #
+# #
+# Generated with "ci-fairy generate-template", edit #
+# .gitlab-ci/ci.template and .gitlab-ci/config.yml #
+# and rerun "ci-fairy generate-template" to change #
+# this file. #
+# #
+#####################################################
+
+.templates_sha: &template_sha 3d03cccd770c04e63b40325b42223495274d6a1d
+
+include:
+ - project: 'freedesktop/ci-templates'
+ ref: *template_sha
+ file:
+ - '/templates/ci-fairy.yml'
+ {% for d in distributions %}
+ - '/templates/{{d.name}}.yml'
+ {% endfor %}
+
+stages:
+ - sanity check
+ - prep
+ - build
+
+variables:
+ FDO_UPSTREAM_REPO: xorg/lib/libxcvt
+ MESON_BUILDDIR: "builddir"
+ NINJA_ARGS: ''
+ MESON_ARGS: ''
+ MESON_TEST_ARGS: ''
+ GIT_DEPTH: 1
+
+.policy:
+ retry:
+ max: 2
+ when:
+ - runner_system_failure
+ - stuck_or_timeout_failure
+ # cancel run when a newer version is pushed to the branch
+ interruptible: true
+
+
+# Re-generate the CI script and make sure it's the one currently checked in
+# If this job fails, re-generate the gitlab-ci.yml script, see
+# $SRCDIR/.gitlab-ci/generate-gitlab-ci.py
+#
+check-ci-script:
+ extends:
+ - .fdo.ci-fairy
+ stage: sanity check
+ script:
+ - ci-fairy generate-template --verify && exit 0 || true
+ - echo "Committed gitlab-ci.yml differs from generated gitlab-ci.yml. Please verify"
+ - exit 1
+
+#
+# Verify that commit messages are as expected, signed-off, etc.
+#
+check-commit:
+ extends:
+ - .fdo.ci-fairy
+ stage: sanity check
+ script:
+ - ci-fairy check-commits --signed-off-by --junit-xml=results.xml
+ except:
+ - master@xorg/lib/libxcvt
+ variables:
+ GIT_DEPTH: 100
+ artifacts:
+ reports:
+ junit: results.xml
+
+#
+# Verify that merge request has the "allow collaboration" checkbox ticked
+#
+check-merge-request:
+ extends:
+ - .fdo.ci-fairy
+ stage: sanity check
+ script:
+ - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
+ artifacts:
+ when: on_failure
+ reports:
+ junit: results.xml
+ allow_failure: true
+
+{% for d in distributions %}
+
+.{{d.name}}.{{d.version}}:
+ variables:
+ FDO_DISTRIBUTION_VERSION: '{{d.version}}'
+ FDO_DISTRIBUTION_TAG: '{{d.tag}}'
+
+prep-{{d.name}}-{{d.version}}:
+ extends:
+ - .fdo.container-build@{{d.name}}
+ - .{{d.name}}.{{d.version}}
+ stage: prep
+ variables:
+ FDO_DISTRIBUTION_PACKAGES: "{{' '.join(d.packages)}}"
+
+build-{{d.name}}-{{d.version}}:
+ extends:
+ - .fdo.distribution-image@{{d.name}}
+ - .{{d.name}}.{{d.version}}
+ stage: build
+ script:
+ - .gitlab-ci/meson-build.sh
+{% endfor %}
diff --git a/lib/libxcvt/.gitlab-ci/config.yml b/lib/libxcvt/.gitlab-ci/config.yml
new file mode 100644
index 000000000..26c50e7a0
--- /dev/null
+++ b/lib/libxcvt/.gitlab-ci/config.yml
@@ -0,0 +1,9 @@
+.default_tag: &default_tag '2021-07-26.0'
+
+distributions:
+ - name: fedora
+ tag: *default_tag
+ version: 34
+ packages:
+ - meson
+ - gcc
diff --git a/lib/libxcvt/.gitlab-ci/meson-build.sh b/lib/libxcvt/.gitlab-ci/meson-build.sh
new file mode 100755
index 000000000..50b84b018
--- /dev/null
+++ b/lib/libxcvt/.gitlab-ci/meson-build.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+if [[ -f .meson_environment ]]; then
+ . .meson_environment
+fi
+
+if [[ -z "$MESON_BUILDDIR" ]]; then
+ echo "\$MESON_BUILDDIR undefined."
+ exit 1
+fi
+
+# emulate a few gitlab variables to make it easier to
+# run and debug locally.
+if [[ -z "$CI_JOB_ID" ]] || [[ -z "$CI_JOB_NAME" ]] || [[ -z "$CI_PROJECT_NAME" ]]; then
+ echo "Missing \$CI_JOB_ID or \$CI_JOB_NAME".
+ CI_PROJECT_NAME=$(basename $PWD)
+ CI_JOB_ID=$(date +%s)
+ CI_JOB_NAME='${CI_PROJECT_NAME}-job-local'
+ echo "Simulating gitlab environment: "
+ echo " CI_JOB_ID=$CI_JOB_ID"
+ echo " CI_JOB_NAME=$CI_JOB_NAME"
+ echo " CI_PROJECT_NAME=$CI_PROJECT_NAME"
+fi
+
+
+echo "*************************************************"
+echo "builddir: $MESON_BUILDDIR"
+echo "meson args: $MESON_ARGS"
+echo "ninja args: $NINJA_ARGS"
+echo "meson test args: $MESON_TEST_ARGS"
+echo "*************************************************"
+
+set -e
+
+rm -rf "$MESON_BUILDDIR"
+meson "$MESON_BUILDDIR" $MESON_ARGS
+meson configure "$MESON_BUILDDIR"
+ninja -C "$MESON_BUILDDIR" $NINJA_ARGS
+
+if [[ -z "$MESON_TEST_ARGS" ]]; then
+ exit 0
+fi
+
+# we still want to generate the reports, even if meson test fails
+meson test -C "$MESON_BUILDDIR" $MESON_TEST_ARGS --print-errorlogs
+exit_code=$?
+
+exit $exit_code