mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 08:04:30 +00:00
.github: move CI scripts from .gitlab-ci/ to .github/scripts
We're not using gitlab anymore (and the CI config there is totally unmaintained), so better move the scripts to the right place. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
25
.github/scripts/check-ddx-build.sh
vendored
Executable file
25
.github/scripts/check-ddx-build.sh
vendored
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
check_executable () {
|
||||
if [[ ! -x $MESON_BUILDDIR/$1 ]]; then
|
||||
echo "$1 not found after build"
|
||||
exit 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
if [[ -z "$MESON_BUILDDIR" ]]; then
|
||||
echo "\$MESON_BUILDDIR not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[[ "$BUILD_XEPHYR" == true ]] && check_executable "hw/kdrive/ephyr/Xephyr"
|
||||
[[ "$BUILD_XNEST" == true ]] && check_executable "hw/xnest/Xnest"
|
||||
[[ "$BUILD_XORG" == true ]] && check_executable "hw/xfree86/Xorg"
|
||||
[[ "$BUILD_XQUARTZ" == true ]] && check_executable "hw/xquartz/mach-startup/Xquartz"
|
||||
[[ "$BUILD_XVFB" == true ]] && check_executable "hw/vfb/Xvfb"
|
||||
|
||||
exit 0
|
||||
29
.github/scripts/check-piglit-results.sh
vendored
Executable file
29
.github/scripts/check-piglit-results.sh
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
if [[ -z "$MESON_BUILDDIR" ]]; then
|
||||
echo "\$MESON_BUILDDIR not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
check_piglit_results ()
|
||||
{
|
||||
local EXPECTED_RESULTS="$MESON_BUILDDIR"/test/piglit-results/$1
|
||||
local DEPENDENCY="$MESON_BUILDDIR"/$2
|
||||
|
||||
if ! test -e $DEPENDENCY; then
|
||||
return
|
||||
fi
|
||||
|
||||
if test -e $EXPECTED_RESULTS; then
|
||||
return
|
||||
fi
|
||||
|
||||
echo Expected $EXPECTED_RESULTS does not exist
|
||||
exit 1
|
||||
}
|
||||
|
||||
check_piglit_results xephyr-glamor hw/kdrive/ephyr/Xephyr.p/ephyr_glamor.c.o
|
||||
check_piglit_results xvfb hw/vfb/Xvfb
|
||||
33
.github/scripts/manpages-check
vendored
Executable file
33
.github/scripts/manpages-check
vendored
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
find build/ -type f -regex ".*\.[1-9]$" -exec grep -E \
|
||||
@vendorversion@\|\
|
||||
@xorgversion@\|\
|
||||
@xservername@\|\
|
||||
@xconfigfile@\|\
|
||||
@projectroot@\|\
|
||||
@apploaddir@\|\
|
||||
@appmansuffix@\|\
|
||||
@drivermansuffix@\|\
|
||||
@adminmansuffix@\|\
|
||||
@libmansuffix@\|\
|
||||
@miscmansuffix@\|\
|
||||
@filemansuffix@\|\
|
||||
@logdir@\|\
|
||||
@datadir@\|\
|
||||
@mandir@\|\
|
||||
@sysconfdir@\|\
|
||||
@xconfigdir@\|\
|
||||
@xkbdir@\|\
|
||||
@XKB_DFLT_RULES@\|\
|
||||
@XKB_DFLT_MODEL@\|\
|
||||
@XKB_DFLT_LAYOUT@\|\
|
||||
@XKB_DFLT_VARIANT@\|\
|
||||
@XKB_DFLT_OPTIONS@\|\
|
||||
@bundle_id_prefix@\|\
|
||||
@modulepath@\|\
|
||||
@suid_wrapper_dir@\|\
|
||||
@default_font_path@\
|
||||
'{}' + && { echo "Missing manpage substitutions detected!" >&2 ; exit 1; }
|
||||
|
||||
exit 0
|
||||
145
.github/scripts/meson-build.sh
vendored
Executable file
145
.github/scripts/meson-build.sh
vendored
Executable file
@@ -0,0 +1,145 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# This script is sourced from here:
|
||||
# https://gitlab.freedesktop.org/whot/meson-helper
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# Usage:
|
||||
# meson-build.sh
|
||||
# [-C directory] ... change to directory before doing anything
|
||||
# [--skip-build] ... skip the compilation
|
||||
# [--skip-test|--run-test] ... skip or explicitly run meson test
|
||||
# [--skip-dist|--run-dist] ... skip or explicitly run meson dist
|
||||
# [--skip-install|--run-install] ... skip or explicitly run meson install
|
||||
#
|
||||
#
|
||||
# Environment variables:
|
||||
# If the .meson_environment file exists in $PWD, it is sourced at the start of the script.
|
||||
# This file is sourced before the -C directory option takes effect.
|
||||
#
|
||||
# MESON_BUILDDIR
|
||||
# MESON_ARGS, MESON_EXTRA_ARGS:
|
||||
# Args passed to meson setup. The MESON_EXTRA_ARGS exist to make it easier for
|
||||
# callers to have a default set of arguments and a variable set of arguments.
|
||||
# MESON_TEST_ARGS, MESON_DIST_ARGS, MESON_INSTALL_ARGS:
|
||||
# Args passed directly to the respective meson command. If these args are set it implies
|
||||
# --run-$cmd. Use --skip-$cmd to skip.
|
||||
# NINJA_ARGS - args passed to ninja via meson compile
|
||||
|
||||
set -x
|
||||
if [[ -f .meson_environment ]]; then
|
||||
. .meson_environment
|
||||
fi
|
||||
|
||||
# If test args are set, we assume we want to run the tests
|
||||
MESON_RUN_TEST="$MESON_TEST_ARGS"
|
||||
MESON_RUN_INSTALL="$MESON_INSTALL_ARGS"
|
||||
MESON_RUN_DIST="$MESON_DIST_ARGS"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
-C)
|
||||
directory=$2
|
||||
shift 2
|
||||
pushd "$directory" || exit 1
|
||||
;;
|
||||
--skip-setup)
|
||||
shift
|
||||
MESON_SKIP_SETUP="1"
|
||||
;;
|
||||
--skip-build)
|
||||
shift
|
||||
MESON_SKIP_BUILD="1"
|
||||
;;
|
||||
--skip-test)
|
||||
shift
|
||||
MESON_RUN_TEST=""
|
||||
;;
|
||||
--run-test)
|
||||
shift
|
||||
MESON_RUN_TEST="1"
|
||||
;;
|
||||
--skip-dist)
|
||||
shift
|
||||
MESON_RUN_DIST=""
|
||||
;;
|
||||
--run-dist)
|
||||
shift
|
||||
MESON_RUN_DIST="1"
|
||||
;;
|
||||
--skip-install)
|
||||
shift
|
||||
MESON_RUN_INSTALL=""
|
||||
;;
|
||||
--run-install)
|
||||
shift
|
||||
MESON_RUN_INSTALL="1"
|
||||
;;
|
||||
*)
|
||||
echo "Unknow commandline argument $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
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" ]]; 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"
|
||||
fi
|
||||
|
||||
if [[ -n "$FDO_CI_CONCURRENT" ]]; then
|
||||
jobcount="-j$FDO_CI_CONCURRENT"
|
||||
export MESON_TESTTHREADS="$FDO_CI_CONCURRENT"
|
||||
fi
|
||||
|
||||
if [[ -n "$MESON_EXTRA_ARGS" ]]; then
|
||||
MESON_ARGS="$MESON_ARGS $MESON_EXTRA_ARGS"
|
||||
fi
|
||||
|
||||
echo "*************************************************"
|
||||
echo "builddir: $MESON_BUILDDIR"
|
||||
echo "meson args: $MESON_ARGS"
|
||||
echo "ninja args: $NINJA_ARGS"
|
||||
echo "meson test args: $MESON_TEST_ARGS"
|
||||
echo "job count: ${jobcount-0}"
|
||||
echo "*************************************************"
|
||||
|
||||
set -e
|
||||
|
||||
if [[ -z "$MESON_SKIP_SETUP" ]]; then
|
||||
rm -rf "$MESON_BUILDDIR"
|
||||
meson setup "$MESON_BUILDDIR" $MESON_ARGS
|
||||
fi
|
||||
meson configure "$MESON_BUILDDIR"
|
||||
|
||||
if [[ -z "$MESON_SKIP_BUILD" ]]; then
|
||||
if [[ -n "$NINJA_ARGS" ]]; then
|
||||
ninja_args="--ninja-args $NINJA_ARGS"
|
||||
fi
|
||||
meson compile -v -C "$MESON_BUILDDIR" $jobcount $ninja_args
|
||||
fi
|
||||
|
||||
if [[ -n "$MESON_RUN_TEST" ]]; then
|
||||
meson test -C "$MESON_BUILDDIR" --print-errorlogs $MESON_TEST_ARGS
|
||||
fi
|
||||
|
||||
if [[ -n "$MESON_RUN_INSTALL" ]]; then
|
||||
meson install --no-rebuild -C "$MESON_BUILDDIR" $MESON_INSTALL_ARGS
|
||||
fi
|
||||
|
||||
if [[ -n "$MESON_RUN_DIST" ]]; then
|
||||
meson dist -C "$MESON_BUILDDIR" $MESON_DIST_ARGS
|
||||
fi
|
||||
16
.github/workflows/build-xserver.yml
vendored
16
.github/workflows/build-xserver.yml
vendored
@@ -55,7 +55,7 @@ jobs:
|
||||
run: .github/scripts/install-prereq.sh
|
||||
|
||||
- name: build
|
||||
run: .gitlab-ci/meson-build.sh
|
||||
run: .github/scripts/meson-build.sh
|
||||
|
||||
- name: tests
|
||||
run: meson test -C "${{ env.MESON_BUILDDIR }}" --print-errorlogs
|
||||
@@ -72,9 +72,9 @@ jobs:
|
||||
build/test/piglit-results/*
|
||||
|
||||
- name: ddx build check
|
||||
run: .gitlab-ci/check-ddx-build.sh
|
||||
run: .github/scripts/check-ddx-build.sh
|
||||
- name: manpage check
|
||||
run: .gitlab-ci/manpages-check
|
||||
run: .github/scripts/manpages-check
|
||||
|
||||
drivers-build-ubuntu:
|
||||
env:
|
||||
@@ -119,7 +119,7 @@ jobs:
|
||||
echo -n > .meson_environment
|
||||
echo "export MESON_BUILDDIR=$MESON_BUILDDIR" >> .meson_environment
|
||||
echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> .meson_environment
|
||||
.gitlab-ci/meson-build.sh --skip-test
|
||||
.github/scripts/meson-build.sh --skip-test
|
||||
sudo meson install --no-rebuild -C "$MESON_BUILDDIR"
|
||||
sudo mkdir -p /usr/local/lib/$MACHINE/xorg/modules # /home/runner/x11/lib/xorg/modules
|
||||
sudo chown -R runner /usr/local/lib/$MACHINE/xorg/modules # /home/runner/x11/lib/xorg/modules
|
||||
@@ -169,7 +169,7 @@ jobs:
|
||||
run: sudo .github/scripts/mingw32/cross-prereqs-build.sh i686-w64-mingw32
|
||||
|
||||
- name: build
|
||||
run: .gitlab-ci/meson-build.sh --run-install
|
||||
run: .github/scripts/meson-build.sh --run-install
|
||||
|
||||
xserver-build-macos:
|
||||
env:
|
||||
@@ -207,7 +207,7 @@ jobs:
|
||||
run: .github/scripts/macos/install-prereq.sh
|
||||
|
||||
- name: build
|
||||
run: .gitlab-ci/meson-build.sh
|
||||
run: .github/scripts/meson-build.sh
|
||||
|
||||
- name: tests (may fail)
|
||||
continue-on-error: true
|
||||
@@ -225,9 +225,9 @@ jobs:
|
||||
build/test/piglit-results/*
|
||||
|
||||
- name: ddx build check
|
||||
run: .gitlab-ci/check-ddx-build.sh
|
||||
run: .github/scripts/check-ddx-build.sh
|
||||
- name: manpage check
|
||||
run: .gitlab-ci/manpages-check
|
||||
run: .github/scripts/manpages-check
|
||||
|
||||
xserver-build-freebsd:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
Reference in New Issue
Block a user