There's some funny logic in libbson's config.yml, maybe in libmongoc's too.
At the start of the build, "fetch source" both gets the source from git, and also curls libbson-${CURRENT_VERSION}.tar.gz from S3 if it exists (which it often doesn't).
At the end of the build, "upload artifacts" archives the working directory into artifacts.tar.gz twice. Then, it ignores artifacts.tar.gz, and uploads the file it got from S3 (if any) in the "fetch source" step.