ci(lesavka): run GTK tests under headless display
This commit is contained in:
parent
a5d7b1feda
commit
e55243f42b
11
Jenkinsfile
vendored
11
Jenkinsfile
vendored
@ -90,6 +90,9 @@ spec:
|
||||
DOCKER_BUILDKIT = '1'
|
||||
LESAVKA_CI_PROFILE = "${params.LESAVKA_CI_PROFILE}"
|
||||
LESAVKA_COVERAGE_ENFORCE = "${params.ENFORCE_COVERAGE_GATE}"
|
||||
LESAVKA_CI_HEADLESS_GTK = '1'
|
||||
GDK_BACKEND = 'x11'
|
||||
NO_AT_BRIDGE = '1'
|
||||
QUALITY_GATE_PUSHGATEWAY_URL = "${params.QUALITY_GATE_PUSHGATEWAY_URL}"
|
||||
}
|
||||
|
||||
@ -101,14 +104,16 @@ spec:
|
||||
}
|
||||
|
||||
stage('Bootstrap CI Toolchain') {
|
||||
when {
|
||||
expression { return params.LESAVKA_CI_PROFILE != 'safe' }
|
||||
}
|
||||
steps {
|
||||
container('rust-ci') {
|
||||
sh '''
|
||||
set -eu
|
||||
git config --global --add safe.directory "$WORKSPACE"
|
||||
if [ -z "${DISPLAY:-}" ] && ! command -v xvfb-run >/dev/null 2>&1; then
|
||||
apt-get update
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xvfb xauth dbus-x11
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
fi
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,7 +27,14 @@ build_url=${BUILD_URL:-}
|
||||
start_seconds=$(date +%s)
|
||||
status=0
|
||||
set +e
|
||||
RUST_TEST_THREADS="${RUST_TEST_THREADS:-1}" cargo test --workspace --all-targets --no-fail-fast --color never 2>&1 | tee "${TEST_LOG}"
|
||||
cargo_test_cmd=(cargo test --workspace --all-targets --no-fail-fast --color never)
|
||||
if [[ -z "${DISPLAY:-}" && "${LESAVKA_CI_HEADLESS_GTK:-1}" != "0" ]] && command -v xvfb-run >/dev/null 2>&1; then
|
||||
cargo_test_cmd=(xvfb-run -a -s "-screen 0 1920x1080x24" "${cargo_test_cmd[@]}")
|
||||
fi
|
||||
if command -v dbus-run-session >/dev/null 2>&1; then
|
||||
cargo_test_cmd=(dbus-run-session -- "${cargo_test_cmd[@]}")
|
||||
fi
|
||||
RUST_TEST_THREADS="${RUST_TEST_THREADS:-1}" "${cargo_test_cmd[@]}" 2>&1 | tee "${TEST_LOG}"
|
||||
status=${PIPESTATUS[0]}
|
||||
set -e
|
||||
end_seconds=$(date +%s)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user