mirror of
https://github.com/X11Libre/xserver.git
synced 2026-01-26 14:03:17 +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:
parent
10b4f53c97
commit
bc5cb4e8f3
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
|
||||
|
||||
@ -166,10 +166,10 @@ freebsd-image:
|
||||
meson:
|
||||
extends: .common-build-and-test
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh --run-test
|
||||
- .gitlab-ci/check-piglit-results.sh
|
||||
- .gitlab-ci/manpages-check
|
||||
- .gitlab-ci/check-ddx-build.sh
|
||||
- .github/scripts/meson-build.sh --run-test
|
||||
- .github/scripts/check-piglit-results.sh
|
||||
- .github/scripts/manpages-check
|
||||
- .github/scripts/check-ddx-build.sh
|
||||
variables:
|
||||
XTEST_DIR: /root/xts
|
||||
PIGLIT_DIR: /root/piglit
|
||||
@ -190,7 +190,7 @@ meson-noglamor:
|
||||
mingw-cross-build:
|
||||
extends: .common-build-and-test
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh --run-install
|
||||
- .github/scripts/meson-build.sh --run-install
|
||||
variables:
|
||||
MESON_ARGS: --cross-file=.gitlab-ci/cross-i686-w64-mingw32.txt -Dglx=false -Dlisten_tcp=true -Dxvmc=true -Dxv=true
|
||||
|
||||
@ -212,7 +212,7 @@ freebsd:
|
||||
- /app/vmctl exec "pkg update && pkg add libxvmc xcb-util xcb-util-wm"
|
||||
# need to install newer xorgproto
|
||||
- /app/vmctl exec "cd $CI_PROJECT_NAME/dep.xorgproto && ./autogen.sh --prefix=/usr && make && make install"
|
||||
- /app/vmctl exec "cd $CI_PROJECT_NAME && PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\" MESON_ARGS=\"$MESON_ARGS\" MESON_BUILDDIR=\"$MESON_BUILDDIR\" .gitlab-ci/meson-build.sh --skip-test" && touch .success
|
||||
- /app/vmctl exec "cd $CI_PROJECT_NAME && PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\" MESON_ARGS=\"$MESON_ARGS\" MESON_BUILDDIR=\"$MESON_BUILDDIR\" .github/scripts/meson-build.sh --skip-test" && touch .success
|
||||
# test not working yet, so skipped
|
||||
# - scp -r vm:$CI_PROJECT_NAME/test-results.xml .
|
||||
- /app/vmctl stop
|
||||
@ -228,10 +228,10 @@ meson-dist:
|
||||
- $MESON_BUILDDIR/xserver-*/$MESON_BUILDDIR/meson-logs/
|
||||
- xserver-tarball/install/
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh --run-dist
|
||||
- .github/scripts/meson-build.sh --run-dist
|
||||
- mkdir xserver-tarball
|
||||
- tar xf $MESON_BUILDDIR/meson-dist/xserver-*.tar.xz -C xserver-tarball --strip-components=1
|
||||
- .gitlab-ci/meson-build.sh -C xserver-tarball --skip-test --skip-dist --run-install
|
||||
- .github/scripts/meson-build.sh -C xserver-tarball --skip-test --skip-dist --run-install
|
||||
variables:
|
||||
MESON_DIST_ARGS: --no-tests
|
||||
MESON_EXTRA_ARGS: -Dprefix=$CI_PROJECT_DIR/xserver-tarball/install/
|
||||
@ -349,7 +349,7 @@ xf86-driver-build-test:
|
||||
- git -C "$DRIVER" checkout "$SHA"
|
||||
- |
|
||||
if [[ -e "$DRIVER/meson.build" ]] && [[ "$DRIVER" != "xf86-video-intel" ]]; then
|
||||
.gitlab-ci/meson-build.sh -C "$DRIVER" --skip-test
|
||||
.github/scripts/meson-build.sh -C "$DRIVER" --skip-test
|
||||
else
|
||||
pushd "$DRIVER" || exit 1
|
||||
./autogen.sh && make
|
||||
|
||||
@ -1,145 +0,0 @@
|
||||
#!/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
|
||||
1
.gitlab-ci/meson-build.sh
Symbolic link
1
.gitlab-ci/meson-build.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../.github/scripts/meson-build.sh
|
||||
Loading…
x
Reference in New Issue
Block a user