buildkite / buildkite/agent

allow downloading artifacts in sibling pipelines

Open
#1,513 3 comments 0 reactions 0 assignees View on GitHub
artifacts
Dominant language
Go
Stars
1.1k
Forks
378
Avg merge
2d 6h
Merged PRs (30d)
74

Description

Currently, buildkite-agent covers the following use case for downloading artifacts.

:heavy_check_mark: a step inside pipeline can download the artifacts generated by another step inside the same pipeline
:heavy_check_mark: a step inside a pipeline can download the artifacts generated by another step which is present in the pipeline that triggered the current step's pipeline (parent pipeline)

We would like a step to access another step's artifact which is present in a sibling pipeline. Example: If you consider the below setup: pipeline A has two trigger steps which trigger pipeline B and pipeline C. Now the step Y can't access the artifacts present in step X because they are part of sibling pipelines.

```
┌───────────────────┐
│ │
│ pipeline A │
│ │
└────────┬──────────┘





│ ┌──────────────────┐
│ │ │
├────────────────────►│ pipeline B │
│ │ │
│ └────────┬─────────┘
│ │
│ │ ┌─────────────────┐
│ │ │ │
│ └────────────────►│ step X │
│ │ │
│ └─────────────────┘



│ ┌─────────────────┐
│ │ │
└──────────────────────►│ pipeline C │
│ │
└────────┬────────┘


│ ┌─────────────────┐
│ │ │
└─────────────────►│ step Y │
│ │
└─────────────────┘
```

I would like to extend the artifact download command to consider those sibiling pipeline steps also while trying to download the artifacts. Let me know if this is okay to do and if it is open for contribution.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Go implementation of the artifact download command and how it currently resolves artifacts from the same and parent pipelines. Define how sibling pipelines are identified and what permissions or ambiguity rules apply, then verify that downloads from the depicted pipeline B-to-C relationship work without changing existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
ci-cd, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.