Allow parallel build steps to create artifacts

Issue #15843 resolved
Shane Fast
created an issue

I've been using parallel pipelines features to perform integration tests faster. I'm trying to find an efficient way to determine the combined code coverage between all the parallel builds and being able to combine the test result through artifacts would be the easiest way (I think).

Comments (10)

  1. Martin

    Just wanted to add another use case for this feature.

    We build and deploy our websites on Pipelines, being able to build both the FE and the BE in parallel would speed our pipelines considerably. Artifacts are needed for this to pass the results to the deployment steps.

    Thanks!

  2. Matt Ryall staff

    @Bryant - we looked at that as an option, but the general solution wasn't much harder. We should have a complete solution ready in the next two weeks.

    If you need this urgently, you can do your own artifact passing with an S3 bucket, and include $BITBUCKET_COMMIT or $BITBUCKET_BUILD_NUMBER in the path as a way to distinguish artifacts from different builds. (This is how artifacts are implemented by Pipelines. Use the us-east-1 region for best performance. ;))

  3. Matt Ryall staff

    This is now available. Parallel steps can now produce artifacts, for consumption by later steps.

    There are a few potential points of confusion that are also covered in our documentation:

    • Parallel steps can only consume artifacts from earlier steps, not from other steps in the same parallel group.
    • If parallel steps declare artifacts in the same or overlapping paths, conflicts are handled on a per-file basis. In most cases, files produced by different steps won't overlap, but we implemented a consistent strategy to handle cases where they do.
    • Artifacts from previous steps are downloaded in the order the steps appear in the YAML file, so in the case where multiple artifacts contain files in the same location, the file from the latest step in YAML order will win.
  4. Log in to comment