mirror of
https://github.com/actions/download-artifact.git
synced 2025-07-24 23:48: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'
|
name: 'Artifact-A'
|
||||||
path: ~/some/path/with/a/tilde
|
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
|
- name: Verify successful download
|
||||||
run: |
|
run: |
|
||||||
$file1 = "some/new/path/file-A.txt"
|
$file1 = "some/new/path/file-A.txt"
|
||||||
|
|
|
@ -8,6 +8,10 @@ inputs:
|
||||||
path:
|
path:
|
||||||
description: 'Destination path'
|
description: 'Destination path'
|
||||||
required: false
|
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:
|
outputs:
|
||||||
download-path:
|
download-path:
|
||||||
description: 'Path of artifact download'
|
description: 'Path of artifact download'
|
||||||
|
|
17
dist/index.js
vendored
17
dist/index.js
vendored
|
@ -9498,6 +9498,7 @@ var Inputs;
|
||||||
(function (Inputs) {
|
(function (Inputs) {
|
||||||
Inputs["Name"] = "name";
|
Inputs["Name"] = "name";
|
||||||
Inputs["Path"] = "path";
|
Inputs["Path"] = "path";
|
||||||
|
Inputs["IfNoArtifact"] = "if-no-artifact";
|
||||||
})(Inputs = exports.Inputs || (exports.Inputs = {}));
|
})(Inputs = exports.Inputs || (exports.Inputs = {}));
|
||||||
var Outputs;
|
var Outputs;
|
||||||
(function (Outputs) {
|
(function (Outputs) {
|
||||||
|
@ -9536,9 +9537,12 @@ const path_1 = __nccwpck_require__(1017);
|
||||||
const constants_1 = __nccwpck_require__(9042);
|
const constants_1 = __nccwpck_require__(9042);
|
||||||
function run() {
|
function run() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let ifNoArtifact = '';
|
||||||
try {
|
try {
|
||||||
const name = core.getInput(constants_1.Inputs.Name, { required: false });
|
const name = core.getInput(constants_1.Inputs.Name, { required: false });
|
||||||
const path = core.getInput(constants_1.Inputs.Path, { required: false });
|
const path = core.getInput(constants_1.Inputs.Path, { required: false });
|
||||||
|
ifNoArtifact =
|
||||||
|
core.getInput(constants_1.Inputs.IfNoArtifact, { required: false }) || 'fail';
|
||||||
let resolvedPath;
|
let resolvedPath;
|
||||||
// resolve tilde expansions, path.replace only replaces the first occurrence of a pattern
|
// resolve tilde expansions, path.replace only replaces the first occurrence of a pattern
|
||||||
if (path.startsWith(`~`)) {
|
if (path.startsWith(`~`)) {
|
||||||
|
@ -9574,7 +9578,18 @@ function run() {
|
||||||
core.info('Artifact download has finished successfully');
|
core.info('Artifact download has finished successfully');
|
||||||
}
|
}
|
||||||
catch (err) {
|
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 {
|
export enum Inputs {
|
||||||
Name = 'name',
|
Name = 'name',
|
||||||
Path = 'path'
|
Path = 'path',
|
||||||
|
IfNoArtifact = 'if-no-artifact'
|
||||||
}
|
}
|
||||||
export enum Outputs {
|
export enum Outputs {
|
||||||
DownloadPath = 'download-path'
|
DownloadPath = 'download-path'
|
||||||
|
|
|
@ -5,9 +5,12 @@ import {resolve} from 'path'
|
||||||
import {Inputs, Outputs} from './constants'
|
import {Inputs, Outputs} from './constants'
|
||||||
|
|
||||||
async function run(): Promise<void> {
|
async function run(): Promise<void> {
|
||||||
|
let ifNoArtifact = ''
|
||||||
try {
|
try {
|
||||||
const name = core.getInput(Inputs.Name, {required: false})
|
const name = core.getInput(Inputs.Name, {required: false})
|
||||||
const path = core.getInput(Inputs.Path, {required: false})
|
const path = core.getInput(Inputs.Path, {required: false})
|
||||||
|
ifNoArtifact =
|
||||||
|
core.getInput(Inputs.IfNoArtifact, {required: false}) || 'fail'
|
||||||
|
|
||||||
let resolvedPath
|
let resolvedPath
|
||||||
// resolve tilde expansions, path.replace only replaces the first occurrence of a pattern
|
// 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.setOutput(Outputs.DownloadPath, resolvedPath)
|
||||||
core.info('Artifact download has finished successfully')
|
core.info('Artifact download has finished successfully')
|
||||||
} catch (err) {
|
} 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