Praqma / pretested-integration-plugin

A generic pretest commit plugin for Jenkins CI
MIT License
7 stars 14 forks source link

Please release to get a fix for issue #15 #29

Open emimarz opened 7 years ago

emimarz commented 7 years ago

I have the same error that issue https://github.com/Praqma/pretested-integration-plugin/issues/15 I don't understand why you close the issue if this still happen or you have a regression but in the ticket don't seems like is solve.

PLEASE, can you provide me a work around to avoid this and continue working instead wait for a new version?

THANKS

buep commented 7 years ago

Hi @emimarz

15 is closed, but it isn't released according to our commit and release history.

I edited the title.

@MadsNielsen - @praqma-thi could you please release the plugin, unless there are a reason for not doing so?

praqma-thi commented 7 years ago

The actual changes made for #15 are released and out there. After the release, some tests had their comments changed, but no changes were made that impact the behaviour of the plugin.

The released fix should simply provide a better error message in case a branch without any new commits is pushed. We don't stop the build from failing, as pushing such an 'empty' branch is most likely a mistake.

If you're still getting cryptic error messages when you're pushing a branch without new commits, then we'll have to review the changes and see what went wrong, otherwise you might be bumping into a different problem. What issues are you currently experiencing?

emimarz commented 7 years ago

using accumulated strategy

[PREINT] Collecting commit messages on development branch origin/bla-bla-bla
[PREINT] Done collecting commit messages
[PREINT] Collecting author of last commit on development branch
[PREINT] Done colecting last commit author: John Doe <johndoe@johndoe.com> 1484652095 -0300
[PREINT] Starting accumulated merge (no-ff) - without commit:
 > git merge --no-commit -m Accumulated commit of the following from branch 'origin/bla-bla-bla':

 --no-ff **************************************** # timeout=10
[PREINT] Accumulated merge done
[PREINT] Merge was successful
[PREINT] Starting to commit accumulated merge changes:
[PREINT] Exception while committing. Logging exception msg: /var/lib/jenkins/jobs/tark/workspace/.git/MERGE_MSG (No existe el fichero o el directorio)
java.io.FileNotFoundException: /var/lib/jenkins/jobs/task/workspace/.git/MERGE_MSG (No existe el fichero o el directorio)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at hudson.FilePath.read(FilePath.java:1779)
    at hudson.FilePath.readToString(FilePath.java:1880)
    at org.jenkinsci.plugins.pretestedintegration.scm.git.AccumulatedCommitStrategy.integrate(AccumulatedCommitStrategy.java:149)
    at org.jenkinsci.plugins.pretestedintegration.AbstractSCMBridge.mergeChanges(AbstractSCMBridge.java:122)
    at org.jenkinsci.plugins.pretestedintegration.AbstractSCMBridge.prepareWorkspace(AbstractSCMBridge.java:139)
    at org.jenkinsci.plugins.pretestedintegration.PretestedIntegrationBuildWrapper.setUp(PretestedIntegrationBuildWrapper.java:69)
    at hudson.model.Build$BuildExecution.doRun(Build.java:156)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
    at hudson.model.Run.execute(Run.java:1720)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:404)
[PREINT]  - setUp() - IntegrationFailedException - Merge failure

using squashed strategy

[PREINT] Collecting author of last commit on development branch
[PREINT] Done colecting last commit author: John Doe <johndoe@johndoe.com> 1484652095 -0300
[PREINT] Starting squash merge - without commit:
[PREINT]  merge --squash origin/bla-bla-bla
 > git merge --squash **************************************** # timeout=10
[PREINT] Squash merge done
[PREINT] Merge was successful
[PREINT] Starting to commit squash merge changes:
[PREINT] Exception while committing. Logging exception msg: /var/lib/jenkins/jobs/task/workspace/.git/SQUASH_MSG (No existe el fichero o el directorio)
[PREINT]  - setUp() - IntegrationFailedException - Merge failure
praqma-thi commented 7 years ago

I found out the exception is only caught when certain text is logged in the console, which is fairly brittle and fails when logging is done in another language. I also managed to reproduce the problem for the squashed strategy in English. Most peculiar, since the job that runs as a functional test outputs the new error message.

I'll open up an issue to improve the fix and figure out why the test isn't failing as it should. @MadsNielsen and I will take a look at this Friday.

emimarz commented 7 years ago

thanks so much

praqma-thi commented 7 years ago

Pushing this to next week due to sickness. I'd prefer to take a look at this with two and significantly improve these tests, but I'd rather not get @MadsNielsen sick in the process. :face_with_thermometer: I've set up a Slack reminder and my other projects are well on schedule, should be no problem.

bicschneider commented 7 years ago

I have an idea why this happens.. I believe it happens in case that the merge content is empty.

praqma-thi commented 7 years ago

That was the root cause of #15. We got a quick fix out the door, but it breaks when it's run in different languages. Improving the fix shouldn't be too much work, I'm more interested in why one of the tests passes when it actually fails in production, even when run in en-US.

emimarz commented 7 years ago

@bicschneider I arrive to the same conclusion but how this can help?

buep commented 7 years ago

ping

buep commented 7 years ago

Why is this still open? Minimize work in progress...

buep commented 7 years ago

It can be Runway milestone after so long... moving to backlog