Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove docker build in pre-merge [skip ci] #1877

Merged
merged 5 commits into from
Mar 10, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 26 additions & 10 deletions jenkins/Jenkinsfile-blossom.premerge
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ import ipp.blossom.*
def pluginPremerge

def githubHelper // blossom github helper
def TEMP_IMAGE_BUILD = true
def PREMERGE_DOCKERFILE = 'jenkins/Dockerfile-blossom.ubuntu16'
def IMAGE_PREMERGE // temp image for premerge test
def PREMERGE_TAG
def skipped = false
Expand Down Expand Up @@ -118,16 +120,27 @@ pipeline {
def CUDA_NAME = sh(returnStdout: true,
script: '. jenkins/version-def.sh>&2 && echo -n $CUDA_CLASSIFIER | sed "s/-/./g"')

IMAGE_TAG = "dev-ubuntu16-${CUDA_NAME}"
CACHE_IMAGE_NAME = "${ARTIFACTORY_NAME}/sw-spark-docker/plugin:${IMAGE_TAG}"
// check if pre-merge dockerfile modified
def dockerfileModified = sh(returnStdout: true,
script: 'BASE=$(git --no-pager log --oneline -1 | awk \'{ print $NF }\'); ' +
jlowe marked this conversation as resolved.
Show resolved Hide resolved
'git --no-pager diff --name-only HEAD $(git merge-base HEAD $BASE) ' +
"-- ${PREMERGE_DOCKERFILE} || true")
if (!dockerfileModified?.trim()) {
TEMP_IMAGE_BUILD = false
}

if (TEMP_IMAGE_BUILD) {
IMAGE_TAG = "dev-ubuntu16-${CUDA_NAME}"
PREMERGE_TAG = "${IMAGE_TAG}-${BUILD_TAG}"
IMAGE_PREMERGE = "${ARTIFACTORY_NAME}/sw-spark-docker-local/plugin:${PREMERGE_TAG}"
def CUDA_VER = "$CUDA_NAME" - "cuda"
docker.build(IMAGE_PREMERGE, "-f ${PREMERGE_DOCKERFILE} --build-arg CUDA_VER=$CUDA_VER -t $IMAGE_PREMERGE .")
uploadDocker(IMAGE_PREMERGE)
} else {
// if no pre-merge dockerfile change, use nightly image
IMAGE_PREMERGE = "$ARTIFACTORY_NAME/sw-spark-docker-local/plugin:dev-ubuntu16-$CUDA_NAME-blossom-dev"
}

sh "docker pull $CACHE_IMAGE_NAME || true"

PREMERGE_TAG = "${IMAGE_TAG}-${BUILD_TAG}"
IMAGE_PREMERGE = "${ARTIFACTORY_NAME}/sw-spark-docker-local/plugin:${PREMERGE_TAG}"
def CUDA_VER = "$CUDA_NAME" - "cuda"
docker.build(IMAGE_PREMERGE, "-f jenkins/Dockerfile-blossom.ubuntu16 --build-arg CUDA_VER=$CUDA_VER --cache-from $CACHE_IMAGE_NAME -t $IMAGE_PREMERGE .")
uploadDocker(IMAGE_PREMERGE)

pluginPremerge = pod.getGPUYAML("${IMAGE_PREMERGE}", "${GPU_TYPE}", '8', '32Gi') // cpu: 8, memory: 32Gi
}
Expand Down Expand Up @@ -177,12 +190,15 @@ pipeline {
return
}

deleteDockerTempTag(PREMERGE_TAG) // clean premerge temp image
if (currentBuild.currentResult == "SUCCESS") {
githubHelper.updateCommitStatus("$BUILD_URL", "Success", GitHubCommitState.SUCCESS)
} else {
githubHelper.updateCommitStatus("$BUILD_URL", "Fail", GitHubCommitState.FAILURE)
}

if (TEMP_IMAGE_BUILD) {
deleteDockerTempTag("${PREMERGE_TAG}") // clean premerge temp image
}
}
}
}
Expand Down