mirror of
https://github.com/SELinuxProject/selinux
synced 2025-01-18 11:20:44 +00:00
scripts/ci: add configuration for a Vagrant virtual machine
Using Vagrant makes reproducing and debugging CI issues easier: after "vagrant up", a test virtual machine is up and running, and ready to run "fedora-test-runner.sh". In order to make using this VM even easier, a helper script, "run-selinux-test.sh" is created inside and instructions on how to use it are documented at the beginning of Vagrantfile. Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
This commit is contained in:
parent
f5f63035fa
commit
ce64c473e3
1
scripts/ci/.gitignore
vendored
Normal file
1
scripts/ci/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.vagrant/
|
48
scripts/ci/Vagrantfile
vendored
Normal file
48
scripts/ci/Vagrantfile
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
# Vagrant configuration file which creates a virtual machine that can run the
|
||||
# test suite using fedora-test-runner.sh, in an environment similar to the one
|
||||
# used for automated continuous integration tests (Travis-CI)
|
||||
#
|
||||
# To create a new virtual machine:
|
||||
#
|
||||
# vagrant up --provision
|
||||
#
|
||||
# To launch tests (for example after modifications to libsepol, libselinux... are made):
|
||||
#
|
||||
# vagrant rsync && echo ./run-selinux-test.sh | vagrant ssh
|
||||
#
|
||||
# To destroy the virtual machine (for example to start again from a clean environment):
|
||||
#
|
||||
# vagrant destroy
|
||||
|
||||
# Create a helper script in the VM to run the testsuite as root from a clean environment
|
||||
$script = <<SCRIPT
|
||||
cat > /home/vagrant/run-selinux-test.sh << EOF
|
||||
#/bin/sh
|
||||
set -e -v
|
||||
|
||||
# Run the tests
|
||||
sudo /root/selinux/scripts/ci/fedora-test-runner.sh
|
||||
echo 'All tests passed :)'
|
||||
EOF
|
||||
chmod +x /home/vagrant/run-selinux-test.sh
|
||||
SCRIPT
|
||||
|
||||
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
||||
# configures the configuration version (we support older styles for
|
||||
# backwards compatibility). Please don't change it unless you know what
|
||||
# you're doing.
|
||||
Vagrant.configure("2") do |config|
|
||||
config.vm.box = "fedora/33-cloud-base"
|
||||
config.vm.synced_folder "../..", "/root/selinux"
|
||||
|
||||
config.vm.provider "virtualbox" do |v|
|
||||
v.memory = 4096
|
||||
end
|
||||
config.vm.provider "libvirt" do |v|
|
||||
v.memory = 4096
|
||||
end
|
||||
|
||||
config.vm.provision :shell, inline: $script
|
||||
end
|
@ -75,6 +75,7 @@ git log --oneline -1
|
||||
#
|
||||
# Build and replace userspace components
|
||||
#
|
||||
make clean distclean
|
||||
make -j"$(nproc)" LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install
|
||||
make -j"$(nproc)" LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install-pywrap
|
||||
make -j"$(nproc)" LIBDIR=/usr/lib64 SHLIBDIR=/lib64 relabel
|
||||
@ -84,6 +85,7 @@ make -j"$(nproc)" LIBDIR=/usr/lib64 SHLIBDIR=/lib64 relabel
|
||||
# first.
|
||||
#
|
||||
cd "$HOME"
|
||||
rm -rf selinux-testsuite
|
||||
git clone --depth=1 https://github.com/SELinuxProject/selinux-testsuite.git
|
||||
cd selinux-testsuite
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user