mirror of
https://github.com/actions/download-artifact.git
synced 2025-07-23 23:18:29 +02:00
Merge 6bacb74208
into e9ef242655
This commit is contained in:
commit
09a1082ce2
5 changed files with 45 additions and 3 deletions
8
.github/workflows/test.yml
vendored
8
.github/workflows/test.yml
vendored
|
@ -77,6 +77,14 @@ jobs:
|
|||
name: 'Artifact-A'
|
||||
path: ~/some/path/with/a/tilde
|
||||
|
||||
# Test ignoring error if artifact is not found
|
||||
- name: Download artifact doesn't exist
|
||||
uses: ./
|
||||
with:
|
||||
name: 'Artifact-not-exist'
|
||||
path: path/to/artifact-not-exist
|
||||
if-no-artifact: 'ignore'
|
||||
|
||||
- name: Verify successful download
|
||||
run: |
|
||||
$file1 = "some/new/path/file-A.txt"
|
||||
|
|
|
@ -8,6 +8,10 @@ inputs:
|
|||
path:
|
||||
description: 'Destination path'
|
||||
required: false
|
||||
if-no-artifact:
|
||||
description: 'How to exit action if no artifact is found. Can be fail, warn or ignore'
|
||||
default: 'fail'
|
||||
required: false
|
||||
outputs:
|
||||
download-path:
|
||||
description: 'Path of artifact download'
|
||||
|
|
17
dist/index.js
vendored
17
dist/index.js
vendored
|
@ -9498,6 +9498,7 @@ var Inputs;
|
|||
(function (Inputs) {
|
||||
Inputs["Name"] = "name";
|
||||
Inputs["Path"] = "path";
|
||||
Inputs["IfNoArtifact"] = "if-no-artifact";
|
||||
})(Inputs = exports.Inputs || (exports.Inputs = {}));
|
||||
var Outputs;
|
||||
(function (Outputs) {
|
||||
|
@ -9536,9 +9537,12 @@ const path_1 = __nccwpck_require__(1017);
|
|||
const constants_1 = __nccwpck_require__(9042);
|
||||
function run() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
let ifNoArtifact = '';
|
||||
try {
|
||||
const name = core.getInput(constants_1.Inputs.Name, { required: false });
|
||||
const path = core.getInput(constants_1.Inputs.Path, { required: false });
|
||||
ifNoArtifact =
|
||||
core.getInput(constants_1.Inputs.IfNoArtifact, { required: false }) || 'fail';
|
||||
let resolvedPath;
|
||||
// resolve tilde expansions, path.replace only replaces the first occurrence of a pattern
|
||||
if (path.startsWith(`~`)) {
|
||||
|
@ -9574,7 +9578,18 @@ function run() {
|
|||
core.info('Artifact download has finished successfully');
|
||||
}
|
||||
catch (err) {
|
||||
core.setFailed(err.message);
|
||||
const { message } = err;
|
||||
switch (ifNoArtifact) {
|
||||
case 'warn':
|
||||
core.warning(message);
|
||||
break;
|
||||
case 'ignore':
|
||||
core.info(message);
|
||||
break;
|
||||
case 'fail':
|
||||
default:
|
||||
core.setFailed(message);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
export enum Inputs {
|
||||
Name = 'name',
|
||||
Path = 'path'
|
||||
Path = 'path',
|
||||
IfNoArtifact = 'if-no-artifact'
|
||||
}
|
||||
export enum Outputs {
|
||||
DownloadPath = 'download-path'
|
||||
|
|
|
@ -5,9 +5,12 @@ import {resolve} from 'path'
|
|||
import {Inputs, Outputs} from './constants'
|
||||
|
||||
async function run(): Promise<void> {
|
||||
let ifNoArtifact = ''
|
||||
try {
|
||||
const name = core.getInput(Inputs.Name, {required: false})
|
||||
const path = core.getInput(Inputs.Path, {required: false})
|
||||
ifNoArtifact =
|
||||
core.getInput(Inputs.IfNoArtifact, {required: false}) || 'fail'
|
||||
|
||||
let resolvedPath
|
||||
// resolve tilde expansions, path.replace only replaces the first occurrence of a pattern
|
||||
|
@ -54,7 +57,18 @@ async function run(): Promise<void> {
|
|||
core.setOutput(Outputs.DownloadPath, resolvedPath)
|
||||
core.info('Artifact download has finished successfully')
|
||||
} catch (err) {
|
||||
core.setFailed(err.message)
|
||||
const {message} = err as Error
|
||||
switch (ifNoArtifact) {
|
||||
case 'warn':
|
||||
core.warning(message)
|
||||
break
|
||||
case 'ignore':
|
||||
core.info(message)
|
||||
break
|
||||
case 'fail':
|
||||
default:
|
||||
core.setFailed(message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue