Hello Marco,

Your idea is very much in line how I was imaging it. I will try to come up
with a prototype around this idea then we can continue the discussion about
specifics.

Best,
Istvan

On Thu, Jan 3, 2019 at 11:43 AM Marco de Abreu <marco.g.ab...@gmail.com>
wrote:

> Hello István,
>
> thanks for your interest and for offering your assistance! This is
> definitely a great idea and I think it has been mentioned a few times, but
> nobody jumped on it yet. We would be very happy to assist you on these
> efforts.
>
> As far as I can tell, it would boil down to having some kind of custom
> groovy function that we could call within our Jenkinsfile pipelines. This
> function would then determine whether that specific job/node should run or
> not. This could have two granularity levels:
> 1. Run or skip whole Jenkins job
> 2. Run or skip Jenkins node
>
> To clarify the terminology: Each entry (e.g. windows-cpu) at [1] (sourced
> from [2]) is a Jenkins job. Each Jenkins job can contain multiple stages
> (irrelevant here) and each stage contains one or more nodes. One green
> circle here [3] (e.g. Python 3: CPU Win) represents a node.
>
> #1 would be your example use case. In case of a doc change, we would skip
> our unit test pipelines while the website pipeline would still be executed.
> #2 would be language specific changes, for example. Imagine a change to the
> Scala code. This would require all Scala and Clojure jobs to re-run, but
> there would be no need to run R, Julia or Python, for example.
>
> One thought how to do this would be to define a mapping that would contain
> the "watched" directories for a particular Jenkins job or node. Before a
> job or node is triggered, it could then evaluate the previously mentioned
> function to determine whether any file within that mapping has changed.
>
> If you have any further questions or would like to discuss a design
> proposal, please don't hesitate to reach out to us again :)
>
> Best regards,
> Marco
>
> [1]: http://jenkins.mxnet-ci.amazon-ml.com/job/mxnet-validation/
> [2]: https://github.com/apache/incubator-mxnet/tree/master/ci/jenkins
> [3]:
>
> http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Fwindows-cpu/detail/master/150/
>
> On Thu, Jan 3, 2019 at 7:22 PM István Fehérvári <goo...@gmail.com> wrote:
>
> > Hello developers,
> >
> > I recently opened a PR about a very small documentation change (
> > https://github.com/apache/incubator-mxnet/pull/13766) and I see it
> > triggered the whole CI pipeline which is as far as I know very expensive
> > and obviously unnecessary.
> >
> > Are there any efforts to script this behavior in a way to avoid
> triggering
> > CI when there is no code change in the PR? I am happy to help if there is
> > interest.
> >
> > Best,
> > Istvan
> >
>

Reply via email to