Age | Commit message (Collapse) | Author |
|
Add an extra_filres_remove variable to remove any arbitray files using
`find` after running crush.sh when creating the ramdisk cpio archive.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Update build.jpl to use the new kci_build commands to build and
publish kernel binaries and meta-data instead of the legacy build.py
script.
Update all the job parameters to use BUILD_CONFIG and
BUILD_ENVIRONMENT rather than TREE, TREE_NAME, BRANCH, CC and
CC_VERSION parameters. This is made possible by relying more on
build-configs.yaml and the kci_build tool to extract this information
from it.
Also update Job.dockerImageName() to get the Docker image name using
the build environment rather than the compiler name and version,
accordingly to the changes in kci_build.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Some packages is actually needed, so add a way to don't remove packages.
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
|
|
Some builds need more memory for the VM used in debos.
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
|
|
Rather than having one last.commit file per branch, place the last
commit file at the top of the tree directory on the storage server
with the name of the build config. Also include the build config name
in the source tarball name. This is necessary in the case where
multiple build configs exist for the same tree, for example to only
build some branches with a different compiler or with an extra config
fragment.
Also adjust downloadTarball to always save the tarball with the same
name locally.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Move org.kernelci.build.cloneKciCore() to org.kernelci.job as this is
not specific to build jobs but other jobs too. Also clean-up the code
using cloneKciCore().
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Use a KernelCI debos image from Docker Hub to run the debos jobs, by
default kernelci/debos.
Signed-off-by: Ana Guerrero Lopez <ana.guerrero@collabora.com>
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Clang installs are multi-arch, so only need one container per clang
version, and not per arch.
While adding this, clean things up so that default case is without arch
appended, and the gcc case (appended arch) is the special case.
Also fix an obvious variable name bug where the function parameter was
called 'kernel_arch' but the code was using 'arch'.
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
COMPILER is not a standard environment variable for kernel builds, where
CC is. Use CC so it can be used by the rest of the build
environment (e.g. build.py) for gcc or clang builds.
While at it, separate out the version part into CC_VERSION.
Other behavior (e.g. docker image names) is left unchanged.
NOTE: this requires updating the jenkins jobs to use the new variable
names.
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Add Job.dockerImageName() to construct the name of the Docker image
for a given combination of Docker base name, compiler and
architecture. This is then used both in build.jpl and bisect.jpl to
ensure they are both using the same Docker images to build kernels.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
As dockerPullWithRetry is pulling the image, it can directly return it
so the caller can use it to run code inside it.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Sometimes the docker pull command will timeout, presumably due to
dockerhub being unreachable. Catch this error, and retry the pull with
an increasing timeout.
|
|
Require both the "docker" and "debos" labels to run debos builds.
This is to consolidate how labels are used across jobs and have more
control over how the builders are used to run debos jobs.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Add a test_overlay config variable to provide an optional overlay
directory with files specific to a Debian rootfs flavour.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Wrap long lines with each arguments of makeImageStep and debos on a
separate line to make it more readable and also easier to diff when
arguments change.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
As the kernelci-build repository has been turned into kernelci-core,
rename the function to clone it accordingly.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
The manifest is named build_info.json and is published along with the
images. It includes the date of the build and the debian release number
(e.g. 9.5).
Signed-off-by: Ana Guerrero Lopez <ana.guerrero@collabora.com>
|
|
The debos recipe can be used with other debian releases besides stretch.
Rename the recipe file from stretch.yaml to rootfs.yaml and add a new
parameter when using the library to specify the debian release.
Signed-off-by: Ana Guerrero Lopez <ana.guerrero@collabora.com>
|
|
x86 and x86_64 are now i386 and amd64 respectively.
Update the library to only use the debian arch names everywhere.
Signed-off-by: Ana Guerrero Lopez <ana.guerrero@collabora.com>
|
|
buildImage is now a function from org.kernelci.debian.RootFS
Jenkinsfile and Jenkinsfile_stretchtests have been renamed following
the convention used by other jenkins pipelines and converted
to use org.kernelci.debian.RootFS
Signed-off-by: Ana Guerrero Lopez <ana.guerrero@collabora.com>
|
|
As the backend processes requests asynchronously, it may take some
time for an uploaded kernel source tarball to become available for
download. Due to this, allow a few retries for 1 minute when trying
to download it.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
|
Add org.kernelci shared library with some classes to use in multiple
build jobs:
* org.kernelci.build.Kernel with functions to download a Linux kernel
source tarball and build it
* org.kernelci.util.Job with common functions to trigger other Jenkins
jobs (populate the parameters...)
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|