mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 17:34:18 +03:00
69bcfa5e3b
By default, stdout/stderr Avocado test log files do not have any file extension which confuses GitLab's web UI to mangle the MIME type for these and so the browser will never offer the option to open such file from in a text editor rather than dowloading it. Since GitLab sets a proper MIME for .txt and .log file extensions, rename all Avocado log files without an extension to *.log . This pairs nicely with the coredumpctl info file which we already name as 'coredumpctl.txt' because of this. Signed-off-by: Erik Skultety <eskultet@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
117 lines
4.1 KiB
YAML
117 lines
4.1 KiB
YAML
.integration_tests:
|
|
stage: integration_tests
|
|
before_script:
|
|
- mkdir "$SCRATCH_DIR"
|
|
- sudo sh -c "echo DefaultLimitCORE=infinity >> /etc/systemd/system.conf" # Explicitly allow storing cores globally
|
|
- sudo systemctl daemon-reexec # need to reexec systemd after changing config
|
|
- sudo dnf install -y libvirt-rpms/* libvirt-perl-rpms/*
|
|
- sudo pip3 install --prefix=/usr avocado-framework
|
|
- source /etc/os-release # in order to query the vendor-provided variables
|
|
- if test "$ID" = "centos" && test "$VERSION_ID" -lt 9 ||
|
|
test "$ID" = "fedora" && test "$VERSION_ID" -lt 35;
|
|
then
|
|
DAEMONS="libvirtd virtlogd virtlockd";
|
|
else
|
|
DAEMONS="virtproxyd virtqemud virtinterfaced virtsecretd virtstoraged virtnwfilterd virtnodedevd virtlogd virtlockd";
|
|
fi
|
|
- for daemon in $DAEMONS;
|
|
do
|
|
LOG_OUTPUTS="1:file:/var/log/libvirt/${daemon}.log";
|
|
LOG_FILTERS="3:remote 4:event 3:util.json 3:util.object 3:util.dbus 3:util.netlink 3:node_device 3:rpc 3:access 1:*";
|
|
sudo augtool set /files/etc/libvirt/${daemon}.conf/log_filters "$LOG_FILTERS" &>/dev/null;
|
|
sudo augtool set /files/etc/libvirt/${daemon}.conf/log_outputs "$LOG_OUTPUTS" &>/dev/null;
|
|
sudo systemctl --quiet stop ${daemon}.service;
|
|
sudo systemctl restart ${daemon}.socket;
|
|
done
|
|
- sudo virsh net-start default &>/dev/null || true;
|
|
script:
|
|
- mkdir logs
|
|
- cd "$SCRATCH_DIR"
|
|
- git clone --depth 1 https://gitlab.com/libvirt/libvirt-tck.git
|
|
- cd libvirt-tck
|
|
- sudo avocado --config avocado.config run --job-results-dir "$SCRATCH_DIR"/avocado
|
|
after_script:
|
|
- test "$CI_JOB_STATUS" = "success" && exit 0;
|
|
- test -e "$SCRATCH_DIR"/avocado && sudo mv "$SCRATCH_DIR"/avocado/latest/test-results logs/avocado;
|
|
- sudo coredumpctl info --no-pager > logs/coredumpctl.txt
|
|
- sudo mv /var/log/libvirt logs/libvirt
|
|
- sudo chown -R $(whoami):$(whoami) logs
|
|
# rename all Avocado stderr/stdout logs to *.log so that GitLab's web UI doesn't mangle the MIME type
|
|
- find logs/avocado/ -type f ! -name "*.log" -exec
|
|
sh -c 'DIR=$(dirname {}); NAME=$(basename {}); mv $DIR/$NAME{,.log}' \;
|
|
variables:
|
|
SCRATCH_DIR: "/tmp/scratch"
|
|
artifacts:
|
|
name: logs
|
|
paths:
|
|
- logs
|
|
when: on_failure
|
|
rules:
|
|
- if: '$LIBVIRT_CI_INTEGRATION'
|
|
when: on_success
|
|
- when: never
|
|
|
|
centos-stream-8-tests:
|
|
extends: .integration_tests
|
|
needs:
|
|
- x86_64-centos-stream-8
|
|
- project: libvirt/libvirt-perl
|
|
job: x86_64-centos-stream-8
|
|
ref: master
|
|
artifacts: true
|
|
variables:
|
|
# needed by libvirt-gitlab-executor
|
|
DISTRO: centos-stream-8
|
|
# can be overriden in forks to set a different runner tag
|
|
LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host
|
|
tags:
|
|
- $LIBVIRT_CI_INTEGRATION_RUNNER_TAG
|
|
|
|
centos-stream-9-tests:
|
|
extends: .integration_tests
|
|
needs:
|
|
- x86_64-centos-stream-9
|
|
- project: libvirt/libvirt-perl
|
|
job: x86_64-centos-stream-9
|
|
ref: master
|
|
artifacts: true
|
|
variables:
|
|
# needed by libvirt-gitlab-executor
|
|
DISTRO: centos-stream-9
|
|
# can be overriden in forks to set a different runner tag
|
|
LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host
|
|
tags:
|
|
- $LIBVIRT_CI_INTEGRATION_RUNNER_TAG
|
|
|
|
fedora-34-tests:
|
|
extends: .integration_tests
|
|
needs:
|
|
- x86_64-fedora-34
|
|
- project: libvirt/libvirt-perl
|
|
job: x86_64-fedora-34
|
|
ref: master
|
|
artifacts: true
|
|
variables:
|
|
# needed by libvirt-gitlab-executor
|
|
DISTRO: fedora-34
|
|
# can be overriden in forks to set a different runner tag
|
|
LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host
|
|
tags:
|
|
- $LIBVIRT_CI_INTEGRATION_RUNNER_TAG
|
|
|
|
fedora-35-tests:
|
|
extends: .integration_tests
|
|
needs:
|
|
- x86_64-fedora-35
|
|
- project: libvirt/libvirt-perl
|
|
job: x86_64-fedora-35
|
|
ref: master
|
|
artifacts: true
|
|
variables:
|
|
# needed by libvirt-gitlab-executor
|
|
DISTRO: fedora-35
|
|
# can be overriden in forks to set a different runner tag
|
|
LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host
|
|
tags:
|
|
- $LIBVIRT_CI_INTEGRATION_RUNNER_TAG
|