-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Rework ci pipeline #1735
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
base: master
Are you sure you want to change the base?
Rework ci pipeline #1735
Conversation
4681136 to
01a0254
Compare
|
Thanks for isolating this part of #1599 . The fact that the project is waiting for The configuration for what checks must pass is not under my control. I think we should conform to the existing naming convention. Let's apply the principal of least surprise to Joe's benefit, expanding on his existing naming conventions. Names like these will work:
When we expand this to other JDKs in another PR, I think we should be careful not to create too much noise. We should:
That should keep our footprint reasonable while still establishing that things work against these LTS version. |
01a0254 to
5e523b6
Compare
.github/workflows/ci.yml
Outdated
| project-java-target: [8] | ||
| run: | ||
| - { java: 8, gradle: '8.9' } | ||
| name: JDK ${{ project-java-target }} | Example Gradle (Java) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the name is backwards. We should have the run.java version in here, since we are testing that we can run the example against our built artifacts.
Could you explain this change @juherr? How are these tests run now? |
|
Thanks @joelittlejohn for hopping in. This is why I updated the description. It looks like #1544 added a special |
|
@juherr actions is complaining about your last change. |
|
Looking at output from recent builds, the gradle plugin module's failsafe plugin is not bound to the verify phase for some reason, but the integration module's failsafe plugin is. This change does drop a failsafe execution. |
The integration test was originally used just to verify that the example could build, which wasn’t straightforward and only worked for one out of three examples. |
|
Okay, sounds good. Thanks for the explanation. |
e4792fb to
6ccc98b
Compare
6ccc98b to
63bed59
Compare
|
Everything looks good now.
I'm not sure what is expected here, but it doesn't seem related to this pull request. |
|
I finally got what you meant and removed the file properly. As you can see, I was just building the example. |
|
Is it necessary to remove this test? Ideally if there is some change happening in the Gradle plugin, then we want that to be tested locally before pushing to GitHub (that's a long feedback loop). The current integration test is a good sanity check that the Gradle plugin hasn't broken. |
|
I'm open to alternatives if there's a bette way. |
|
I would really like to see us keep that test in the test suite. You can't start a debugging session from a CI only test. Disabling it under later JDKs would be better than dropping it. As for the failsafe plugin not running, I am sure that is some kind of misconfiguration. #1554 indicates that it was placed on the |
|
I think you'll find that the test doesn't use the Gradle plugin version that has just been built and is in the reactor, it uses the version from your local repository. Attaching this to install allowed the actual latest built plugin to be tested (if you use mvn install). |
|
OK, so in |
|
I just took a little time to get my head around this. I was able to get the artifact from the target directory into the gradle example using There is a TestKit provided by gradle. Perhaps we should:
|
|
Should I restore the removed test then? I’m still not sure I understand the rationale for using the example as an integration test. |
|
Here is the rational: #1554 exposed an issue with generation, so the test the project thought was checking the current plugin was shifted around to make it work during a standard Personally, I don't think it matters which check, or both, runs in the CI. What is important is that tight feedback loop. Knowing that the test will fail with #1599, we will need to do something. Unless @joelittlejohn objects, I think we should:
Thoughts? |
|
@juherr Yes, please restore the test, even if you have to ignore it. It's really nice to have some basic good sanity check of the Gradle plugin before you push. If you have to ignore it for now that's fine. We can revisit later and find the best way to test. |
54c2287 to
63bed59
Compare
|
@ctrimble @joelittlejohn Test restored. |
|
Any update about this pr? |
Based on #1599
This PR restructures the CI in the following ways:
jsonschema2pojo-gradle-pluginhas been removed.