We've observed logs like: cp: cannot stat ‘/home/pokybuild/yocto-autobuilder/yocto-worker/buildtools/build/build/tmp/deploy/sdk/*buildtools*’: No such file or directory cp: cannot stat ‘/home/pokybuild/yocto-autobuilder/yocto-worker/buildtools/build/build/tmp/deploy/sdk/x86_64-nativesdk-libc*’: No such file or directory MD5sums are generated and deployed from the image or toolchain artifact on the autobuilder where the cp call fails (do to the file not being present) but the buildstep completes successfully. The buildstep should fail when an artefact isn't published, as this indicates that a build is incomplete and may hint at a deeper issue which is otherwise masked if the buildstep reports success.
It seems the problem is within PublishArtifacts.py, and it seems it will be very difficult to change the way it runs the command in the worker, because it will iterate over the artifacts and will build a huge command and execute it with just one call in the worker.
I added a pipeline in the cp commands of PublishArtifacts.py, with these it will set an env var that later will be checked to mark the exit as successful of failed. I tested locally and it works fine, I'll test in GDC autobuilders before submitting the patch.
The test on the GDC autobuilders was successful. Sent patch to the mailing list: https://lists.yoctoproject.org/pipermail/yocto/2016-September/032183.html
This change has been merged to the yocto-autobuilder and deployed to the build cluster.