Use this Action to download an artifact from an Azure Pipeline.
name: Download stuff from an Azure Pipeline
on: [push]
jobs:
build:
runs-on: ubuntu-16.04
steps:
- name: Download a build artifact from an Azure Pipeline
uses: git-for-windows/get-azure-pipelines-artifact@v0
with:
repository: git/git
definitionId: 10
artifact: sparse
- run: sudo dpkg -i sparse_*.deb
This Action needs to know in which repository the artifact lives. Example: https://dev.azure.com/git/git/_build shows the Azure Pipelines of the git/git
repository. It can be configured like this:
- uses: git-for-windows/get-azure-pipelines-artifact@v0
with:
repository: git/git
Every Azure Pipeline has a numerical identifier that is part of the URL. For example, the "Build sparse for Ubuntu" Pipeline in git/git
at https://dev.azure.com/git/git/_build?definitionId=10 has the identifier 10
. It needs to be configured via the definitionId
key.
- uses: git-for-windows/get-azure-pipelines-artifact@v0
with:
definitionId: 10
Pipelines can have an arbitrary number of artifacts, which are identified by a name. The artifact
parameter specifies which one to download. It can be omitted if the given Pipeline run has only one artifact attached to it.
The reasonFilter
parameter can be added to filter by the reason for a build.
A list of accepted reasons can be found here. This parameter defaults to all
if omitted.
Pipeline artifacts can contain entire directory structures. The stripPrefix
parameter allows filtering by a given path prefix; Any files matching that prefix will be written (after stripping the prefix), all other files will be skipped.
By default, the artifact files will be stored in the current directory. The path
parameter can be used to override that.
This directory needs to be unless caching is turned off.
To accelerate this Action, artifacts are cached once downloaded. This can be turned off by setting the input parameter cache
to false
.
First, you'll need to have a reasonably modern version of
node
handy, such as Node 12.
Install the dependencies
$ npm install
Build the Action and package it for distribution
$ npm run build && npm run package
Run the tests ✔️
$ npm test