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

refactor(*): Pull jenkins out into separate module; create new core abstractions #594

Merged
merged 1 commit into from
Feb 10, 2020

Conversation

robzienert
Copy link
Member

I did this over the holiday break. It's a continuation of my desire to see Igor be a respectable service. Of all its warts, the biggest issue with it is that every CI provider needs to walk and talk as if it is Jenkins. It's understandable, as when it was originally written it was only for Jenkins.

This PR does a few things:

  1. Splits the Jenkins codebase out into a igor-monitor-jenkins module.
  2. Creates some loose "Step 1" abstractions around core models. It's still not great, but it's better.
  3. Converts all Groovy code in main source set to Java.

I haven't had the chance to open this up again, but I wanted to put it out there for anyone that's particularly interested in reviewing large pull requests. I tried to keep the changeset as minimal as possible, because I don't think I can correctly make the right abstractions until all providers are decoupled from each other.

Side note: I see that IntelliJ "helpfully" rewrote a bunch of license headers. They will be fixed.

.duration(duration.intValue())
// TODO(rz): Groovyism. What does Groovy do when `result` is null and you cast it to an
// enum? WHO KNOWS, but
// all of the igor tests depend on _something_ being set from null.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😆

@Vity01
Copy link

Vity01 commented Jan 27, 2020

Is there any chance this PR will be merged into master?

@robzienert
Copy link
Member Author

Yes, it'll get merged into master, but I first need to finish it. You could consider this work "20% time", except that the 20% time comes out of my evenings / nights, so I can't give you an estimate of when I'll have it done.

@@ -0,0 +1,4 @@
package com.netflix.spinnaker.igor.history.model;

/** TODO(rz): Document. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would probably be good to document these top level interfaces / how they will be used before some of the more specific things.

}

// TODO(rz): lol, for real?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😆

Copy link
Contributor

@emjburns emjburns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great Rob!

@robzienert robzienert added the ready to merge Approved and ready for merge label Feb 7, 2020
@mergify mergify bot added the auto merged label Feb 7, 2020
@mergify mergify bot merged commit bb103cd into spinnaker:master Feb 10, 2020
ttomsu pushed a commit to ttomsu/igor that referenced this pull request Feb 24, 2020
ttomsu pushed a commit that referenced this pull request Feb 24, 2020
* Revert "fix(jenkins): Parse build number from Location header correctly (#627)"

This reverts commit b6d10bb.

* Revert "fix(jenkins): Fix build event details serialization (#626)"

This reverts commit 5e7fbe2.

* Revert "fix(docs): Fixing javadoc failures (#620)"

This reverts commit 290abe8.

* Revert "chore(build): Generate config props manifest (#618)"

This reverts commit eb866bc.

* Revert "refactor(*): Pull jenkins out into separate module; create new core abstractions (#594)"

This reverts commit bb103cd.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants