mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 00:14:44 +01:00

Compared to v1 the following improvements have been made: - The cost of installing packages have been shifted from each startup to image preparation phase, thanks to the integration of custom cloud-init profiles into image-garden. This has dramatic impact on iteration time while also entirely removing requirement to be online to run once a prepared image is available. - Support for running on Google Compute Engine has been removed since it would not be able to use cloud-init the same way would currently only complicate setup. - The number of workers have been tuned for local iteration, aiming for comfortable work with 16GB of memory on the host. Once CI/CD pipeline support is introduced I will add a dedicated entry so that resources are utilized well both locally and when running in CI. - The set of regression tests listed in tests/regression/apparmor/task.yaml is now cross-checked so introduction of a new test to the makefile there is automatically flagged and causes spread to fail with a clear message. - The task tests/unit/utils has been improved to generate profiles. Thanks to Christian Boltz for explaining this relationship between tests. - A number of comments have been improved and cleaned up for readability, accuracy and sometimes better grammar. Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
78 lines
1.9 KiB
Makefile
78 lines
1.9 KiB
Makefile
# This file is read by image-garden when spread is allocating test machines.
|
|
# All the package installation happens through cloud-init profiles defined
|
|
# below.
|
|
|
|
# This is the cloud-init user-data profile for all Debian systems. Note that it
|
|
# is an extension of the default profile necessary for operation of
|
|
# image-garden.
|
|
define DEBIAN_CLOUD_INIT_USER_DATA_TEMPLATE
|
|
$(CLOUD_INIT_USER_DATA_TEMPLATE)
|
|
packages:
|
|
- attr
|
|
- autoconf
|
|
- autoconf-archive
|
|
- automake
|
|
- bison
|
|
- build-essential
|
|
- dejagnu
|
|
- flake8
|
|
- flex
|
|
- gettext
|
|
- libdbus-1-dev
|
|
- libtool
|
|
- liburing-dev
|
|
- pkg-config
|
|
- python3-all-dev
|
|
- python3-gi
|
|
- python3-notify2
|
|
- python3-psutil
|
|
- python3-setuptools
|
|
- python3-tk
|
|
- python3-ttkthemes
|
|
- swig
|
|
runcmd:
|
|
- apt clean
|
|
endef
|
|
|
|
# Ubuntu shares cloud-init profile with Debian.
|
|
UBUNTU_CLOUD_INIT_USER_DATA_TEMPLATE=$(DEBIAN_CLOUD_INIT_USER_DATA_TEMPLATE)
|
|
|
|
# On openSUSE Leap the default gcc and python are very old. We can use more
|
|
# recent version of Python quite easily but perl extension module system does
|
|
# not want us to modify the CC that's baked into perl and all my attempts at
|
|
# using gcc-14 have failed.
|
|
define OPENSUSE_CLOUD_INIT_USER_DATA_TEMPLATE
|
|
$(CLOUD_INIT_USER_DATA_TEMPLATE)
|
|
packages:
|
|
- attr
|
|
- autoconf
|
|
- autoconf-archive
|
|
- automake
|
|
- bison
|
|
- dbus-1-devel
|
|
- dejagnu
|
|
- flex
|
|
- gcc
|
|
- gcc-c++
|
|
- gettext
|
|
- gobject-introspection
|
|
- libtool
|
|
- liburing2-devel
|
|
- make
|
|
- pkg-config
|
|
- python3-flake8
|
|
- python3-notify2
|
|
- python3-psutil
|
|
- python3-setuptools
|
|
- python3-setuptools
|
|
- python3-tk
|
|
- python311
|
|
- python311-devel
|
|
- swig
|
|
endef
|
|
|
|
# On openSUSE tumbleweed the set of packages may drift towards more recent
|
|
# versions more rapidly than on Leap but the moment we want to, for example,
|
|
# move to Python 3.13, we can define a separate entry with different package
|
|
# set or perhaps with $(patsubst)-computed package set.
|
|
OPENSUSE_tumbleweed_CLOUD_INIT_USER_DATA_TEMPLATE=$(OPENSUSE_CLOUD_INIT_USER_DATA_TEMPLATE)
|