jenkins-pipelines/pipelines/parts/build-packages.Jenkinsfile
Dostoievski Batista 0eec407738 Add jenkins pipeline for patch creation
This change adds support for creating a patch on top of specified build
state using Jenkins:
- patch-monolithic: Main job where all the stages are listed and called.
- ostree-pull: Part where we pull the ostree from the remote build home.
- patch-make: Part where "patch-builder" is executed and the patch gets
    created.
- patch-iso: Part where the "create-prepatched-iso" is executed and the
    pre-patched ISO is created.
- publish-patch: Part where the publish directory for the pre-patched
    ISO and patch is created.
We also update the build-packages part to support "reuse_maximum" option
when running build-pkgs.

Test plan:
    PASS: Run full monolithic pipeline
    PASS: Run full patch-monolithic pipeline

Story: 2010226
Task: 50700

Change-Id: I7c7d688f2c568532a0b23844dcfd81349ca96476
Signed-off-by: Dostoievski Batista <dostoievski.albinobatista@windriver.com>
2024-09-11 14:50:05 -03:00

93 lines
1.9 KiB
Plaintext

// vim: syn=groovy
//
// Copyright (c) 2022 Wind River Systems, Inc.
//
// SPDX-License-Identifier: Apache-2.0
//
library "common@${params.JENKINS_SCRIPTS_BRANCH}"
setBuildDescr()
pipeline {
agent any
options {
timestamps()
}
parameters {
string (
name: 'MASTER_JOB_NAME'
)
string (
name: 'MASTER_BUILD_NUMBER'
)
string (
name: 'JENKINS_SCRIPTS_BRANCH'
)
string (
name: 'BUILD_HOME'
)
string (
name: 'TIMESTAMP'
)
string (
name: 'PUBLISH_TIMESTAMP'
)
booleanParam (
name: 'PKG_REUSE'
)
booleanParam (
name: 'DRY_RUN'
)
booleanParam (
name: 'SHELL_XTRACE'
)
booleanParam (
name: 'BUILD_PACKAGES'
)
string (
name: 'BUILD_PACKAGES_LIST'
)
booleanParam (
name: 'BUILD_RT'
)
booleanParam (
name: 'CLEAN_PACKAGES'
)
booleanParam (
name: 'BUILD_ISO'
)
string(
name: 'STX_SHARED_SOURCE'
)
string(
name: 'STX_SHARED_REPO'
)
booleanParam(
name: 'PATCH_BUILD',
defaultValue: false,
description: "Identify if we are building a patch." +
"As we use the same sub-jobs than the usual build we need to know when we are creating a patch."
)
}
stages {
stage ("build-packages") {
steps {
sh ("${Constants.SCRIPTS_DIR}/build-packages.sh")
}
}
}
post {
always {
notAborted {
sh ("${Constants.SCRIPTS_DIR}/archive-packages.sh")
}
}
cleanup {
cleanupPartJob()
}
}
}