Using the below sample code:
node {
    println "[currentBuild] ${currentBuild.result}"
    archiveArtifacts "packages/*.*"
    println "[currentBuild] ${currentBuild.result}"
}
You get the output,
[Pipeline] node
Running on master
[Pipeline] {
[Pipeline] echo
[currentBuild] null
[Pipeline] step
Archiving artifacts
[Pipeline] echo
[currentBuild] FAILURE
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: FAILURE
Without manual printouts about where something is failing, you get no information about what is failing where, nor why. For something as pivotal as the artifact archiver, part of core Jenkins, having this behaviour is really, really poor and has already cost us days trying to figure out what's going on in our very big, very time consuming build.
- duplicates
 - 
                    
JENKINS-38005 Using archiveArtifacts with a non-matching pattern silently fails the build
-         
 - Resolved
 
 -