[ 
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)

Reply via email to