[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH test-artifacts v1 4/5] Support building arbitrary Linux branch/tag/commit
If LINUX_URL is set, fetch LINUX_VERSION from there. Go with "git init" + "git fetch" instead of "git clone" to support any of branch/tag/commit. This also defines optional linux-git-* jobs which will build the thing if LINUX_GIT_VERSION and LINUX_GIT_URL variables are provided for the pipeline. Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx> --- The script variable and job variable need to have different names, so a pipeline variable won't override it for all jobs. While LINUX_VERSION / LINUX_GIT_VERSION is IMO okay, I'm not very happy about LINUX_URL / LINUX_GIT_URL. Any better ideas? --- .gitlab-ci.yml | 22 ++++++++++++++++++++++ scripts/build-linux.sh | 18 +++++++++++++----- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ad44fb4..60af072 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,9 @@ variables: REGISTRY: registry.gitlab.com/xen-project/hardware/test-artifacts + LINUX_GIT_VERSION: + description: "branch/tag/commit for the linux-git jobs" + LINUX_GIT_URL: + description: "git url for the linux-git jobs" stages: - build @@ -46,6 +50,15 @@ linux-6.6.86-arm64: variables: LINUX_VERSION: 6.6.86 +linux-git-arm64: + extends: .arm64-artifacts + script: ./scripts/build-linux.sh + variables: + LINUX_VERSION: $LINUX_GIT_VERSION + LINUX_URL: $LINUX_GIT_URL + rules: + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL + # # x86_64 artifacts # @@ -70,6 +83,15 @@ linux-6.12.34-x86_64: variables: LINUX_VERSION: 6.12.34 +linux-git-x86_64: + extends: .x86_64-artifacts + script: ./scripts/build-linux.sh + variables: + LINUX_VERSION: $LINUX_GIT_VERSION + LINUX_URL: $LINUX_GIT_URL + rules: + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL + microcode-x86: extends: .x86_64-artifacts script: ./scripts/x86-microcode.sh diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh index cf0e744..1fc96d1 100755 --- a/scripts/build-linux.sh +++ b/scripts/build-linux.sh @@ -12,11 +12,19 @@ COPYDIR="${WORKDIR}/binaries" UNAME=$(uname -m) # Build Linux -MAJOR=${LINUX_VERSION%%.*} -curl -fsSLO \ - https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz -tar xf linux-"${LINUX_VERSION}".tar.xz -cd linux-"${LINUX_VERSION}" +if [[ -n "${LINUX_URL}" ]]; then + mkdir linux + cd linux + git init + git fetch --depth=1 "${LINUX_URL}" "${LINUX_VERSION}" + git checkout FETCH_HEAD +else + MAJOR=${LINUX_VERSION%%.*} + curl -fsSLO \ + https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz + tar xf linux-"${LINUX_VERSION}".tar.xz + cd linux-"${LINUX_VERSION}" +fi make defconfig ./scripts/config --enable BRIDGE -- git-series 0.9.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |