[
https://issues.jenkins-ci.org/browse/JENKINS-13920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitriy Korobskiy updated JENKINS-13920:
----------------------------------------
Description:
Several issues in the past asked to fail the build on archiving failure because
of downstream effect:
* https://issues.jenkins-ci.org/browse/JENKINS-12759
* https://issues.jenkins-ci.org/browse/JENKINS-11087
* https://issues.jenkins-ci.org/browse/JENKINS-7140
* https://issues.jenkins-ci.org/browse/JENKINS-2058
All of them could be marked as Resolved now, because that's what Jenkins 1.464
does:
{noformat}
BUILD SUCCESSFUL
Total time: 6 mins 47.224 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
Archiving artifacts
ERROR: No artifacts found that match the file pattern
"build/test-results/SpecFlow/**/*.png". Configuration error?
ERROR: 'build/test-results/SpecFlow/**/*.png' doesn't match anything, but
'**/*.png' does. Perhaps that's what you mean?
Build step 'Archive the artifacts' changed build result to FAILURE
{noformat}
However, in my case, I need to have the exact opposite: not to fail the build
on archiving failure. I don't integrate via Jenkins jobs. In fact, I'd argue
this is not what "Archive the artifacts" action was designed to do. Per its
help: "Archives the build artifacts (for example, distribution zip files or jar
files) so that they can be downloaded later. *Archived files will be accessible
from the Jenkins webpage.*"
That's precisely what I need. We are taking browser's screenshots of failed
SpecFlow tests (the same approach is often used in Cucumber tests). So, if a
test fails, a nice .PNG appears, which helps a lot with troubleshooting. Now,
naturally, I need to archive *.PNG to troubleshoot failed builds. The archived
.PNG-s appear on a corresponding build page. So far, so good. However, when a
build passes it does not produce any .PNGs. Artifact archiving does not find
anything to archive and fails the successful build. See the output above.
Now, people who use archiving for downstream integration can use some of 24
Artifact Uploader plug-ins, Copy Artifact plugin, etc. to copy artifacts where
they need them. I, on the other hand, could only find one way to achieve what I
needed: hack the "Files to archive" pattern to include a file which I don't
actually need, but is *always* available in the workspace. Here is hacked
pattern: {noformat}build/test-results/**/*.png,
test/SpecFlow/NETEAVSpecFlow/bin/Debug/*.config{noformat}
What I suggest is to provide a checkbox under Archive the artifacts to either
fail the build or not on not found artifacts.
was:
Several issues in the past asked to fail the build on archiving failure because
of downstream effect:
* https://issues.jenkins-ci.org/browse/JENKINS-12759
* https://issues.jenkins-ci.org/browse/JENKINS-11087
* https://issues.jenkins-ci.org/browse/JENKINS-7140
* https://issues.jenkins-ci.org/browse/JENKINS-2058
All of them could be marked as Resolved now, because that's what Jenkins 1.464
does:
{noformat}
BUILD SUCCESSFUL
Total time: 6 mins 47.224 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
Archiving artifacts
ERROR: No artifacts found that match the file pattern
"build/test-results/SpecFlow/**/*.png". Configuration error?
ERROR: 'build/test-results/SpecFlow/**/*.png' doesn't match anything, but
'**/*.png' does. Perhaps that's what you mean?
Build step 'Archive the artifacts' changed build result to FAILURE
{noformat}
However, in my case, I need to have the exact opposite: not to fail the build
on archiving failure. I don't integrate via Jenkins jobs. In fact, I'd argue
this is not what "Archive the artifacts" action was designed to do. Per its
help: "Archives the build artifacts (for example, distribution zip files or jar
files) so that they can be downloaded later. *Archived files will be accessible
from the Jenkins webpage.*"
That's precisely what I need. We are taking browser's screenshots of failed
SpecFlow tests (the same approach is often used in Cucumber tests). So, if a
test fails, a nice .PNG appears, which helps a lot with troubleshooting. Now,
naturally, I need to archive *.PNG to troubleshoot failed builds. The archived
.PNG-s appear on a corresponding build page. So far, so good. but when a build
passes, it does not produce any .PNGs. Artifact archiving does not find
anything to archive and fails the successful build. See the output above.
Now, people who use archiving for downstream integration can use some of 24
Artifact Uploader plug-ins, Copy Artifact plugin, etc. to copy artifacts where
they need them. I, on the other hand, could only find one way to achieve what I
needed: hack the "Files to archive" pattern to include a file which I don't
actually need, but is *always* available in the workspace. Here is hacked
pattern: {noformat}build/test-results/**/*.png,
test/SpecFlow/NETEAVSpecFlow/bin/Debug/*.config{noformat}
What I suggest is to provide a checkbox under Archive the artifacts to either
fail the build or not on not found artifacts.
> Provide an option whether or not fail the build on artifact archiving not
> finding any artifacts
> -----------------------------------------------------------------------------------------------
>
> Key: JENKINS-13920
> URL: https://issues.jenkins-ci.org/browse/JENKINS-13920
> Project: Jenkins
> Issue Type: Improvement
> Components: core
> Reporter: Dmitriy Korobskiy
>
> Several issues in the past asked to fail the build on archiving failure
> because of downstream effect:
> * https://issues.jenkins-ci.org/browse/JENKINS-12759
> * https://issues.jenkins-ci.org/browse/JENKINS-11087
> * https://issues.jenkins-ci.org/browse/JENKINS-7140
> * https://issues.jenkins-ci.org/browse/JENKINS-2058
> All of them could be marked as Resolved now, because that's what Jenkins
> 1.464 does:
> {noformat}
> BUILD SUCCESSFUL
> Total time: 6 mins 47.224 secs
> Build step 'Invoke Gradle script' changed build result to SUCCESS
> Archiving artifacts
> ERROR: No artifacts found that match the file pattern
> "build/test-results/SpecFlow/**/*.png". Configuration error?
> ERROR: 'build/test-results/SpecFlow/**/*.png' doesn't match anything, but
> '**/*.png' does. Perhaps that's what you mean?
> Build step 'Archive the artifacts' changed build result to FAILURE
> {noformat}
> However, in my case, I need to have the exact opposite: not to fail the build
> on archiving failure. I don't integrate via Jenkins jobs. In fact, I'd argue
> this is not what "Archive the artifacts" action was designed to do. Per its
> help: "Archives the build artifacts (for example, distribution zip files or
> jar files) so that they can be downloaded later. *Archived files will be
> accessible from the Jenkins webpage.*"
> That's precisely what I need. We are taking browser's screenshots of failed
> SpecFlow tests (the same approach is often used in Cucumber tests). So, if a
> test fails, a nice .PNG appears, which helps a lot with troubleshooting. Now,
> naturally, I need to archive *.PNG to troubleshoot failed builds. The
> archived .PNG-s appear on a corresponding build page. So far, so good.
> However, when a build passes it does not produce any .PNGs. Artifact
> archiving does not find anything to archive and fails the successful build.
> See the output above.
> Now, people who use archiving for downstream integration can use some of 24
> Artifact Uploader plug-ins, Copy Artifact plugin, etc. to copy artifacts
> where they need them. I, on the other hand, could only find one way to
> achieve what I needed: hack the "Files to archive" pattern to include a file
> which I don't actually need, but is *always* available in the workspace. Here
> is hacked pattern: {noformat}build/test-results/**/*.png,
> test/SpecFlow/NETEAVSpecFlow/bin/Debug/*.config{noformat}
> What I suggest is to provide a checkbox under Archive the artifacts to either
> fail the build or not on not found artifacts.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira