Comments (11)
This feature is blowing my mind. (a) how are you planning to track the other jobs and (b) shouldn't there be one thing that can hold down the canonical "this build was good", and shouldn't that thing be jenkins?
from ghpullrequest-validator.
Right now we start and track the same set of jobs.
The generalization I propose is to have distinct sets: the set of jobs we start, and the set that defines success.
Technically, we'd start jenkins start watcher actors for all specified job names in the "monitor" setting, whereas the build would be started by asking jenkins to start the jobs in the other set.
Does this clarify?
from ghpullrequest-validator.
I understand the feature, but I feel there must be a simpler solution. Can't the same be accomplished by composing jobs using the flow plugin? It's flexible enough to run jobs in sequence or parallel, to control which ones should fail the build, etc.
from ghpullrequest-validator.
I'm not sure I'm explaining it right. The only change to the bot is that instead of monitoring the same set of jobs as it starts, it starts one set and monitors another. That's not very hard to implement.
from ghpullrequest-validator.
Sure, we should use the flow plugin (and I propose to do so "using Jenkins as the scheduler"), but if the bot starts the flow job then how does it find the error logs in the downstream jobs? To know which jobs those are, it would have to parse the output of the flow plugin and then still monitor them, which is harder to do than us specifying those jobs explicitly. Alternatively, we stop monitoring the output of jobs, but I find it quite helpful to see in the PR which tests failed.
from ghpullrequest-validator.
In any case, the work on the jenkins jobs shouldn't be blocked by this feature, as we can already of course just start a job that uses the flow plugin to start the PR validation work. Once this issue is fixed, we can again monitor all of the individual jobs in the flow and report failed tests.
from ghpullrequest-validator.
Very concretely, for scala PR validation the set of started jobs would be: pr-scala-main.
The monitored jobs would be: pr-checkin-per-commit, pr-rangepos-per-commit, pr-scala-integrate-ide
from ghpullrequest-validator.
I already experimented with a flow-based pr job here: https://scala-webapps.epfl.ch/jenkins/view/pr-validators/job/pr-all-per-commit/
from ghpullrequest-validator.
Do you need to parse the output? I thought the build kitty only cares about the result (success/failure). The link takes you to a build, where you have links to sub-builds and one can drill down (a failure requires some manual inspection anyway).
from ghpullrequest-validator.
I don't need to, but we currently do. Whenever a build fails and there's partest error output, you'll see it in the failure comment on your commit. This explains why you don't see it: it only happens on scala/scala. But it's quite handy.
from ghpullrequest-validator.
I have no idea how I managed to explain all this so poorly, but I π¨ do NOT propose to have the build bot schedule anything π¨. The only tweak is to have the build bot know which jobs are triggered by jenkins as a result of the job that it starts, so that it can monitor the result of those jobs for error reporting.
from ghpullrequest-validator.
Related Issues (18)
- Changing the messages the kitty generates HOT 2
- Github API Pagination breaks comment detection HOT 1
- Don't run the validation if the PR's code can't be cleanly merged HOT 2
- needy-seeming PR spurns attentions lavished by desperate programmer
- Detect existing jenkins builds on restart HOT 1
- don't use String to represent SHAs internally
- always comment upon failure
- kitty should make a comment when it determines that a PR as been βtestedβ
- Per-branch job validation HOT 1
- rebuilding suggestions
- Finds old jenkins job if new one hasn't started HOT 1
- quiet down logging HOT 6
- Run validation against each commit of the pull request HOT 10
- Validate user has signed Typesafe CLA HOT 1
- NoSuchElementException: next on empty iterator HOT 1
- Archive? HOT 5
- The PR validator only comments after the Jenkins job has finished HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ghpullrequest-validator.