From: Michael Jeanson Date: Tue, 25 Aug 2015 23:05:20 +0000 (-0400) Subject: Basic kernel and lttng-modules jobs X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=598af4633e637805c844f06513d36a1703f1dc78;p=lttng-ci.git Basic kernel and lttng-modules jobs --- diff --git a/jobs/inc/kernel-versions.yaml.inc b/jobs/inc/kernel-versions.yaml.inc new file mode 100644 index 0000000..688062c --- /dev/null +++ b/jobs/inc/kernel-versions.yaml.inc @@ -0,0 +1,673 @@ +- 2.6.36 +- 2.6.36.1 +- 2.6.36.2 +- 2.6.36.3 +- 2.6.36.4 +- 2.6.37 +- 2.6.37.1 +- 2.6.37.2 +- 2.6.37.3 +- 2.6.37.4 +- 2.6.37.5 +- 2.6.37.6 +- 2.6.38 +- 2.6.38.1 +- 2.6.38.2 +- 2.6.38.3 +- 2.6.38.4 +- 2.6.38.5 +- 2.6.38.6 +- 2.6.38.7 +- 2.6.38.8 +- 2.6.39 +- 2.6.39.1 +- 2.6.39.2 +- 2.6.39.3 +- 2.6.39.4 +- '3.0' +- 3.0.1 +- 3.0.2 +- 3.0.3 +- 3.0.4 +- 3.0.5 +- 3.0.6 +- 3.0.7 +- 3.0.8 +- 3.0.9 +- 3.0.10 +- 3.0.11 +- 3.0.12 +- 3.0.13 +- 3.0.14 +- 3.0.15 +- 3.0.16 +- 3.0.17 +- 3.0.18 +- 3.0.19 +- 3.0.20 +- 3.0.21 +- 3.0.22 +- 3.0.23 +- 3.0.24 +- 3.0.25 +- 3.0.26 +- 3.0.27 +- 3.0.28 +- 3.0.29 +- 3.0.30 +- 3.0.31 +- 3.0.32 +- 3.0.33 +- 3.0.34 +- 3.0.35 +- 3.0.36 +- 3.0.37 +- 3.0.38 +- 3.0.39 +- 3.0.40 +- 3.0.41 +- 3.0.42 +- 3.0.43 +- 3.0.44 +- 3.0.45 +- 3.0.46 +- 3.0.47 +- 3.0.48 +- 3.0.49 +- 3.0.50 +- 3.0.51 +- 3.0.52 +- 3.0.53 +- 3.0.54 +- 3.0.55 +- 3.0.56 +- 3.0.57 +- 3.0.58 +- 3.0.59 +- 3.0.60 +- 3.0.61 +- 3.0.62 +- 3.0.63 +- 3.0.64 +- 3.0.65 +- 3.0.66 +- 3.0.67 +- 3.0.68 +- 3.0.69 +- 3.0.70 +- 3.0.71 +- 3.0.72 +- 3.0.73 +- 3.0.74 +- 3.0.75 +- 3.0.76 +- 3.0.77 +- 3.0.78 +- 3.0.79 +- 3.0.80 +- 3.0.81 +- 3.0.82 +- 3.0.83 +- 3.0.84 +- 3.0.85 +- 3.0.86 +- 3.0.87 +- 3.0.88 +- 3.0.89 +- 3.0.90 +- 3.0.91 +- 3.0.92 +- 3.0.93 +- 3.0.94 +- 3.0.95 +- 3.0.96 +- 3.0.97 +- 3.0.98 +- 3.0.99 +- 3.0.100 +- 3.0.101 +- '3.1' +- 3.1.1 +- 3.1.2 +- 3.1.3 +- 3.1.4 +- 3.1.5 +- 3.1.6 +- 3.1.7 +- 3.1.8 +- 3.1.9 +- 3.1.10 +- '3.2' +- 3.2.1 +- 3.2.2 +- 3.2.3 +- 3.2.4 +- 3.2.5 +- 3.2.6 +- 3.2.7 +- 3.2.8 +- 3.2.9 +- 3.2.10 +- 3.2.11 +- 3.2.12 +- 3.2.13 +- 3.2.14 +- 3.2.15 +- 3.2.16 +- 3.2.17 +- 3.2.18 +- 3.2.19 +- 3.2.20 +- 3.2.21 +- 3.2.22 +- 3.2.23 +- 3.2.24 +- 3.2.25 +- 3.2.26 +- 3.2.27 +- 3.2.28 +- 3.2.29 +- 3.2.30 +- 3.2.31 +- 3.2.32 +- 3.2.33 +- 3.2.34 +- 3.2.35 +- 3.2.36 +- 3.2.37 +- 3.2.38 +- 3.2.39 +- 3.2.40 +- 3.2.41 +- 3.2.42 +- 3.2.43 +- 3.2.44 +- 3.2.45 +- 3.2.46 +- 3.2.47 +- 3.2.48 +- 3.2.49 +- 3.2.50 +- 3.2.51 +- 3.2.52 +- 3.2.53 +- 3.2.54 +- 3.2.55 +- 3.2.56 +- 3.2.57 +- 3.2.58 +- 3.2.59 +- 3.2.60 +- 3.2.61 +- 3.2.62 +- 3.2.63 +- 3.2.64 +- 3.2.65 +- 3.2.66 +- 3.2.67 +- 3.2.68 +- 3.2.69 +- 3.2.70 +- 3.2.71 +- '3.3' +- 3.3.1 +- 3.3.2 +- 3.3.3 +- 3.3.4 +- 3.3.5 +- 3.3.6 +- 3.3.7 +- 3.3.8 +- '3.4' +- 3.4.1 +- 3.4.2 +- 3.4.3 +- 3.4.4 +- 3.4.5 +- 3.4.6 +- 3.4.7 +- 3.4.8 +- 3.4.9 +- 3.4.10 +- 3.4.11 +- 3.4.12 +- 3.4.13 +- 3.4.14 +- 3.4.15 +- 3.4.16 +- 3.4.17 +- 3.4.18 +- 3.4.19 +- 3.4.20 +- 3.4.21 +- 3.4.22 +- 3.4.23 +- 3.4.24 +- 3.4.25 +- 3.4.26 +- 3.4.27 +- 3.4.28 +- 3.4.29 +- 3.4.30 +- 3.4.31 +- 3.4.32 +- 3.4.33 +- 3.4.34 +- 3.4.35 +- 3.4.36 +- 3.4.37 +- 3.4.38 +- 3.4.39 +- 3.4.40 +- 3.4.41 +- 3.4.42 +- 3.4.43 +- 3.4.44 +- 3.4.45 +- 3.4.46 +- 3.4.47 +- 3.4.48 +- 3.4.49 +- 3.4.50 +- 3.4.51 +- 3.4.52 +- 3.4.53 +- 3.4.54 +- 3.4.55 +- 3.4.56 +- 3.4.57 +- 3.4.58 +- 3.4.59 +- 3.4.60 +- 3.4.61 +- 3.4.62 +- 3.4.63 +- 3.4.64 +- 3.4.65 +- 3.4.66 +- 3.4.67 +- 3.4.68 +- 3.4.69 +- 3.4.70 +- 3.4.71 +- 3.4.72 +- 3.4.73 +- 3.4.74 +- 3.4.75 +- 3.4.76 +- 3.4.77 +- 3.4.78 +- 3.4.79 +- 3.4.80 +- 3.4.81 +- 3.4.82 +- 3.4.83 +- 3.4.84 +- 3.4.85 +- 3.4.86 +- 3.4.87 +- 3.4.88 +- 3.4.89 +- 3.4.90 +- 3.4.91 +- 3.4.92 +- 3.4.93 +- 3.4.94 +- 3.4.95 +- 3.4.96 +- 3.4.97 +- 3.4.98 +- 3.4.99 +- 3.4.100 +- 3.4.101 +- 3.4.102 +- 3.4.103 +- 3.4.104 +- 3.4.105 +- 3.4.106 +- 3.4.107 +- 3.4.108 +- '3.5' +- 3.5.1 +- 3.5.2 +- 3.5.3 +- 3.5.4 +- 3.5.5 +- 3.5.6 +- 3.5.7 +- '3.6' +- 3.6.1 +- 3.6.2 +- 3.6.3 +- 3.6.4 +- 3.6.5 +- 3.6.6 +- 3.6.7 +- 3.6.8 +- 3.6.9 +- 3.6.10 +- 3.6.11 +- '3.7' +- 3.7.1 +- 3.7.2 +- 3.7.3 +- 3.7.4 +- 3.7.5 +- 3.7.6 +- 3.7.7 +- 3.7.8 +- 3.7.9 +- 3.7.10 +- '3.8' +- 3.8.1 +- 3.8.2 +- 3.8.3 +- 3.8.4 +- 3.8.5 +- 3.8.6 +- 3.8.7 +- 3.8.8 +- 3.8.9 +- 3.8.10 +- 3.8.11 +- 3.8.12 +- 3.8.13 +- '3.9' +- 3.9.1 +- 3.9.2 +- 3.9.3 +- 3.9.4 +- 3.9.5 +- 3.9.6 +- 3.9.7 +- 3.9.8 +- 3.9.9 +- 3.9.10 +- 3.9.11 +- '3.10' +- 3.10.1 +- 3.10.2 +- 3.10.3 +- 3.10.4 +- 3.10.5 +- 3.10.6 +- 3.10.7 +- 3.10.8 +- 3.10.9 +- 3.10.10 +- 3.10.11 +- 3.10.12 +- 3.10.13 +- 3.10.14 +- 3.10.15 +- 3.10.16 +- 3.10.17 +- 3.10.18 +- 3.10.19 +- 3.10.20 +- 3.10.21 +- 3.10.22 +- 3.10.23 +- 3.10.24 +- 3.10.25 +- 3.10.26 +- 3.10.27 +- 3.10.28 +- 3.10.29 +- 3.10.30 +- 3.10.31 +- 3.10.32 +- 3.10.33 +- 3.10.34 +- 3.10.35 +- 3.10.36 +- 3.10.37 +- 3.10.38 +- 3.10.39 +- 3.10.40 +- 3.10.41 +- 3.10.42 +- 3.10.43 +- 3.10.44 +- 3.10.45 +- 3.10.46 +- 3.10.47 +- 3.10.48 +- 3.10.49 +- 3.10.50 +- 3.10.51 +- 3.10.52 +- 3.10.53 +- 3.10.54 +- 3.10.55 +- 3.10.56 +- 3.10.57 +- 3.10.58 +- 3.10.59 +- 3.10.60 +- 3.10.61 +- 3.10.62 +- 3.10.63 +- 3.10.64 +- 3.10.65 +- 3.10.66 +- 3.10.67 +- 3.10.68 +- 3.10.69 +- 3.10.70 +- 3.10.71 +- 3.10.72 +- 3.10.73 +- 3.10.74 +- 3.10.75 +- 3.10.76 +- 3.10.77 +- 3.10.78 +- 3.10.79 +- 3.10.80 +- 3.10.81 +- 3.10.82 +- 3.10.83 +- 3.10.84 +- 3.10.85 +- 3.10.86 +- 3.10.87 +- '3.11' +- 3.11.1 +- 3.11.2 +- 3.11.3 +- 3.11.4 +- 3.11.5 +- 3.11.6 +- 3.11.7 +- 3.11.8 +- 3.11.9 +- 3.11.10 +- '3.12' +- 3.12.1 +- 3.12.2 +- 3.12.3 +- 3.12.4 +- 3.12.5 +- 3.12.6 +- 3.12.7 +- 3.12.8 +- 3.12.9 +- 3.12.10 +- 3.12.11 +- 3.12.12 +- 3.12.13 +- 3.12.14 +- 3.12.15 +- 3.12.16 +- 3.12.17 +- 3.12.18 +- 3.12.19 +- 3.12.20 +- 3.12.21 +- 3.12.22 +- 3.12.23 +- 3.12.24 +- 3.12.25 +- 3.12.26 +- 3.12.27 +- 3.12.28 +- 3.12.29 +- 3.12.30 +- 3.12.31 +- 3.12.32 +- 3.12.33 +- 3.12.34 +- 3.12.35 +- 3.12.36 +- 3.12.37 +- 3.12.38 +- 3.12.39 +- 3.12.40 +- 3.12.41 +- 3.12.42 +- 3.12.43 +- 3.12.44 +- 3.12.45 +- 3.12.46 +- '3.13' +- 3.13.1 +- 3.13.2 +- 3.13.3 +- 3.13.4 +- 3.13.5 +- 3.13.6 +- 3.13.7 +- 3.13.8 +- 3.13.9 +- 3.13.10 +- 3.13.11 +- '3.14' +- 3.14.1 +- 3.14.2 +- 3.14.3 +- 3.14.4 +- 3.14.5 +- 3.14.6 +- 3.14.7 +- 3.14.8 +- 3.14.9 +- 3.14.10 +- 3.14.11 +- 3.14.12 +- 3.14.13 +- 3.14.14 +- 3.14.15 +- 3.14.16 +- 3.14.17 +- 3.14.18 +- 3.14.19 +- 3.14.20 +- 3.14.21 +- 3.14.22 +- 3.14.23 +- 3.14.24 +- 3.14.25 +- 3.14.26 +- 3.14.27 +- 3.14.28 +- 3.14.29 +- 3.14.30 +- 3.14.31 +- 3.14.32 +- 3.14.33 +- 3.14.34 +- 3.14.35 +- 3.14.36 +- 3.14.37 +- 3.14.38 +- 3.14.39 +- 3.14.40 +- 3.14.41 +- 3.14.42 +- 3.14.43 +- 3.14.44 +- 3.14.45 +- 3.14.46 +- 3.14.47 +- 3.14.48 +- 3.14.49 +- 3.14.50 +- 3.14.51 +- '3.15' +- 3.15.1 +- 3.15.2 +- 3.15.3 +- 3.15.4 +- 3.15.5 +- 3.15.6 +- 3.15.7 +- 3.15.8 +- 3.15.9 +- 3.15.10 +- '3.16' +- 3.16.1 +- 3.16.2 +- 3.16.3 +- 3.16.4 +- 3.16.5 +- 3.16.6 +- 3.16.7 +- '3.17' +- 3.17.1 +- 3.17.2 +- 3.17.3 +- 3.17.4 +- 3.17.5 +- 3.17.6 +- 3.17.7 +- 3.17.8 +- '3.18' +- 3.18.1 +- 3.18.2 +- 3.18.3 +- 3.18.4 +- 3.18.5 +- 3.18.6 +- 3.18.7 +- 3.18.8 +- 3.18.9 +- 3.18.10 +- 3.18.11 +- 3.18.12 +- 3.18.13 +- 3.18.14 +- 3.18.15 +- 3.18.16 +- 3.18.17 +- 3.18.18 +- 3.18.19 +- 3.18.20 +- '3.19' +- 3.19.1 +- 3.19.2 +- 3.19.3 +- 3.19.4 +- 3.19.5 +- 3.19.6 +- 3.19.7 +- 3.19.8 +- '4.0' +- 4.0.1 +- 4.0.2 +- 4.0.3 +- 4.0.4 +- 4.0.5 +- 4.0.6 +- 4.0.7 +- 4.0.8 +- 4.0.9 +- '4.1' +- 4.1.1 +- 4.1.2 +- 4.1.3 +- 4.1.4 +- 4.1.5 +- 4.1.6 +- 4.2-rc7 + diff --git a/jobs/inc/lttng-modules-versions.yaml.inc b/jobs/inc/lttng-modules-versions.yaml.inc new file mode 100644 index 0000000..1593cf2 --- /dev/null +++ b/jobs/inc/lttng-modules-versions.yaml.inc @@ -0,0 +1,3 @@ +- stable-2.5 +- stable-2.6 +- master diff --git a/jobs/kernel.yaml b/jobs/kernel.yaml new file mode 100644 index 0000000..061c55c --- /dev/null +++ b/jobs/kernel.yaml @@ -0,0 +1,76 @@ +--- +- defaults: + name: kernel + description: | + TODO + + project-type: freestyle + + logrotate: + daysToKeep: -1 + numToKeep: 2 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor + + scm: + - git: + url: git://artifacts.internal.efficios.com/git/linux-stable.git + branches: + - refs/tags/v{kversion} + shallow-clone: true + basedir: linux + + triggers: + - pollscm: "@yearly" + + properties: + - throttle: + max-per-node: 0 + max-total: 0 + categories: + - 'lttng-module-linux' + + +## Templates +- job-template: + name: kernel_{kversion}_{buildtype} + defaults: kernel + + project-type: matrix + axes: + - axis: + type: slave + name: arch + values: '{obj:arch}' + + builders: + - shell: + !include-raw-escape scripts/kernel/build.sh + + publishers: + - archive: + artifacts: 'build/**' + allow-empty: false + fingerprint: true + - trigger: + project: lttng-modules_master_{kversion}_{buildtype} + threshold: SUCCESS + + +## Project +- project: + name: kernel + kversion: + !include jobs/inc/kernel-versions.yaml.inc + jobs: + - 'kernel_{kversion}_{buildtype}': + buildtype: build + arch: !!python/tuple [x86-32, x86-64] + - 'kernel_{kversion}_{buildtype}': + buildtype: portbuild + arch: !!python/tuple [armhf, powerpc] diff --git a/jobs/lttng-modules.yaml b/jobs/lttng-modules.yaml new file mode 100644 index 0000000..82d82f4 --- /dev/null +++ b/jobs/lttng-modules.yaml @@ -0,0 +1,86 @@ +--- +- defaults: + name: lttng-modules + description: | + TODO + + project-type: freestyle + + logrotate: + daysToKeep: -1 + numToKeep: 2 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor + + scm: + - git: + url: git://artifacts.internal.efficios.com/git/linux-stable.git + branches: + - refs/tags/v{kversion} + shallow-clone: true + basedir: linux + - git: + url: git://github.com/lttng/lttng-modules.git + branches: + - "{mversion}" + basedir: lttng-modules + + triggers: + - pollscm: "@yearly" + + properties: + - throttle: + max-per-node: 0 + max-total: 0 + categories: + - 'lttng-module-linux' + + +## Templates +- job-template: + name: lttng-modules_{mversion}_{kversion}_{buildtype} + defaults: lttng-modules + + project-type: matrix + axes: + - axis: + type: slave + name: arch + values: '{obj:arch}' + + builders: + - copyartifact: + project: kernel_{kversion}_{buildtype}/arch=$arch + which-build: last-successful + stable: true + filter: 'build/**' + target: 'deps/linux' + - shell: + !include-raw-escape scripts/lttng-modules/build.sh + + publishers: + - archive: + artifacts: 'build/**' + allow-empty: false + fingerprint: true + + +## Project +- project: + name: lttng-modules + mversion: + !include jobs/inc/lttng-modules-versions.yaml.inc + kversion: + !include jobs/inc/kernel-versions.yaml.inc + jobs: + - 'lttng-modules_{mversion}_{kversion}_{buildtype}': + buildtype: build + arch: !!python/tuple [x86-32, x86-64] + - 'lttng-modules_{mversion}_{kversion}_{buildtype}': + buildtype: portbuild + arch: !!python/tuple [armhf, powerpc] diff --git a/scripts/kernel/build.sh b/scripts/kernel/build.sh new file mode 100644 index 0000000..ad96d89 --- /dev/null +++ b/scripts/kernel/build.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# +# Copyright (C) 2015 - Jonathan Rajotte-Julien +# Michael Jeanson +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Exit with error when using an undefined variable +set -u + +#Check if ccache is present +#if [ -d /usr/lib/ccache ]; then +# echo "Using CCACHE" +# export PATH="/usr/lib/ccache:$PATH" +# export CC="ccache gcc" +# export CXX="ccache g++" +#fi + +# Use all CPU cores +NPROC=$(nproc) + +SRCDIR="${WORKSPACE}/linux" +BUILDDIR="${WORKSPACE}/build" + +# Create build directory +rm -rf "${BUILDDIR}" +mkdir -p "${BUILDDIR}" + +# Enter source dir +cd "${SRCDIR}" + +# Prepare linux sources for modules OOT build +make O="${BUILDDIR}" defconfig + +# Enable CONFIG_KALLSYMS_ALL +sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" "${BUILDDIR}"/.config + +# Build to out of tree dir +#make -j$nbrProc O="${BUILDDIR}" +make O="${BUILDDIR}" prepare +make -j${NPROC} O="${BUILDDIR}" modules + +# Clean up artifact directory to keep only relevant stuff for lttng-modules +cd "${BUILDDIR}" +find . -maxdepth 1 ! -name "arch" ! -name ".config" ! -name "include" ! -name "Makefile" ! -name "Module.symvers" ! -name "scripts" ! -name "." -exec rm -rf {} \; + +# EOF diff --git a/scripts/lttng-modules/build.sh b/scripts/lttng-modules/build.sh new file mode 100755 index 0000000..517884a --- /dev/null +++ b/scripts/lttng-modules/build.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Copyright (C) 2015 - Jonathan Rajotte-Julien +# Michael Jeanson +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Exit with error when using an undefined variable +set -u + +# Use all CPU cores +NPROC=$(nproc) + +SRCDIR="${WORKSPACE}/lttng-modules" +BUILDDIR="${WORKSPACE}/build" +LNXSRCDIR="${WORKSPACE}/linux" +LNXBINDIR="${WORKSPACE}/deps/linux/build" + +# Create build directory +rm -rf "${BUILDDIR}" +mkdir -p "${BUILDDIR}" + +# Enter source dir +cd "${SRCDIR}" + +# Fix linux Makefile +sed -i "s#MAKEARGS := -C .*#MAKEARGS := -C ${LNXSRCDIR}#" "${LNXBINDIR}"/Makefile + +# Build modules +make -j${NPROC} -C "${LNXBINDIR}" M="$(pwd)" + +# Install modules to build dir +make INSTALL_MOD_PATH="${BUILDDIR}" -C "${LNXBINDIR}" M="$(pwd)" modules_install + +# EOF diff --git a/scripts/lttng-modules/lttng-modules-dsl-master.sh b/scripts/lttng-modules/lttng-modules-dsl-master.sh deleted file mode 100755 index 4e9416b..0000000 --- a/scripts/lttng-modules/lttng-modules-dsl-master.sh +++ /dev/null @@ -1,17 +0,0 @@ -# Recreate link to kernel source - -NPROC=`nproc` - -rm -rf /tmp/linux-source -rm -rf /tmp/linux-artifact - -ln -s $WORKSPACE/linux-source /tmp/linux-source -ln -s $WORKSPACE/linux-artifact /tmp/linux-artifact -ln -s /tmp/linux-source /tmp/linux-artifact/source - -cd lttng-modules -make -j $NPROC KERNELDIR=/tmp/linux-artifact -#make INSTALL_MOD_PATH="$PREFIX" modules_install -rm -rf /tmp/linux-source -rm -rf /tmp/linux-artifact -