aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-06-14debos: add extra_files_remove to remove arbitray files in ramdiskGuillaume Tucker
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>
2019-05-03build.jpl: update to use kci_buildGuillaume Tucker
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>
2019-04-26debian: add a config var to pass into debos extra_packages_removeAnders Roxell
Some packages is actually needed, so add a way to don't remove packages. Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
2019-04-26debian: add a debos flag to increase the VM memoryAnders Roxell
Some builds need more memory for the VM used in debos. Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
2019-02-25kernelci.build: use build config in last commit and tarball namesGuillaume Tucker
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>
2019-02-13org.kernelci.job: add .cloneKciCore() and clean-upGuillaume Tucker
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>
2019-01-02org.kernelci.debian.RootFS: use debos Docker image from Docker HubAna Guerrero Lopez
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>
2018-12-24org.kernelci.util.Job: fix docker image names for clangKevin Hilman
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>
2018-12-24change COMPILER to CC and separate versionKevin Hilman
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>
2018-12-07org.kernelci.util.Job: add dockerImageName() and use itGuillaume Tucker
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>
2018-12-07org.kernelci.util.Job: return image from pull-with-retryGuillaume Tucker
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>
2018-11-22Add retry logic to the docker pullMatt Hart
Sometimes the docker pull command will timeout, presumably due to dockerhub being unreachable. Catch this error, and retry the pull with an increasing timeout.
2018-10-29RootFS.groovy: use "docker && debos" labelsGuillaume Tucker
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>
2018-10-29debian: add test_overlay configGuillaume Tucker
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>
2018-10-29Rootfs.groovy: wrap long lines in makeImageStepGuillaume Tucker
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>
2018-10-22Kernel: rename cloneKCIBuild() to cloneKciCore()Guillaume Tucker
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>
2018-10-05Create a manifest file in JSON with the build detailsAna Guerrero Lopez
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>
2018-09-17debian.rootfs library: allow to choose the Debian release for the rootfsAna Guerrero Lopez
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>
2018-09-17Use the debian arch names for x86 and x86_64Ana Guerrero Lopez
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>
2018-09-17Move vars/buildImage.groovy to the libraries under org.kernelci.Ana Guerrero Lopez
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>
2018-07-30Kernel.downloadTarball: retry for 1 min if server returned HTTP errorGuillaume Tucker
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>
2018-07-30Add initial org.kernelci shared libraryGuillaume Tucker
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>