buildkite / buildkite/agent

Download multiple artifact patterns

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

Description

I would like to be able to download artifacts from multiple patterns in a single command.

i.e. turn this:

```sh
buildkite-agent artifact download "tmp/rspec.json" .
buildkite-agent artifact download "tmp/rspec-*.json" .
```

into this:

```sh
buildkite-agent artifact download "tmp/rspec.json" "tmp/rspec-*.json" .
```

or something.

I don't think the download command currently supports filesystem globs (#1087) so options like `tmp/rspec{,-*}.json` and `tmp/rspec.json;tmp/rspec-*.json` don't work.

The workaround is to use subsequent commands, but that's less efficient because it's more processes and round trips to the APIs. It'd be super nice if we figured out how to do parallel artifact downloads, too.

Contributor guide

Open the contributing guide

Research direction

Start at the implementation and argument handling for the `artifact download` command, then reproduce the two single-pattern commands from the issue. Compare that behavior with the proposed multi-pattern invocation and determine the supported completion criteria, including whether parallel downloads are part of the change.】【。

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
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.