mirror of
https://github.com/actions/download-artifact.git
synced 2025-08-21 16:10:17 +00:00
Merge 6bacb74208218e7225e3383ffc3a77403538fe91 into e9ef242655d12993efdcda9058dee2db83a2cb9b
This commit is contained in:
commit
09a1082ce2
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…
x
Reference in New Issue
Block a user