[
https://issues.apache.org/jira/browse/HBASE-22924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17642830#comment-17642830
]
Duo Zhang commented on HBASE-22924:
-----------------------------------
I'm not a jenkins expert so I'm not sure how to do this in a jenkins file but I
can describe the problem here.
It is this job on the jenkins
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/
By default a pipeline job will scan branches and PRs, but here we only want to
build PRs.
Our current solution is to skip the build of branches in shell scripts which is
invoked in jenkins file
https://github.com/apache/hbase/blob/320eca20fbe65221a976129b776c6fd9dba214f5/dev-support/jenkins_precommit_github_yetus.sh#L74
And [~busbey] suggested we should use jenkinsfile to skip the build of branches
instead of in shell scripts.
[~busbey] Please correct me if I'm wrong.
Thanks.
> GitHUB PR job should use when clause to filter to just PRs.
> -----------------------------------------------------------
>
> Key: HBASE-22924
> URL: https://issues.apache.org/jira/browse/HBASE-22924
> Project: HBase
> Issue Type: Improvement
> Components: build, community
> Reporter: Sean Busbey
> Priority: Minor
> Labels: beginner
>
> Right now the GitHub PR checking job uses a Jenkins environment variable to
> stop branch builds:
> {code}
> # If CHANGE_URL is set (e.g., Github Branch Source
> plugin), process it.
> # Otherwise exit, because we don't want HBase to do a
> # full build. We wouldn't normally do this check for
> smaller
> # projects. :)
> if [[ -z "${CHANGE_URL}" ]]; then
> echo "Full build skipped" >
> "${WORKSPACE}/${PATCHDIR}/report.html"
> exit 0
> fi
> {code}
> instead we should use a Jenkinsfile {{when}} clause
> ([ref|https://jenkins.io/doc/book/pipeline/syntax/#when]) and the
> {{changeRequest()}} filter to say we want to build PRs. Assuming the eventual
> adaptation of the JIRA precommit job properly sets that it's testing a change
> this should also help reuse there.
> {code}
> stage ('precommit-run') {
> when { changeRequest() }
> steps {
> ...
> }
> }
> {code}
> it would also be nice to fold things into a single stage so that we skip the
> yetus checkout when we're not going to run tests.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)