Fix for all downloads

This commit is contained in:
Konrad Pabjan 2023-10-26 22:29:16 -04:00
parent 54ed8ca4ec
commit ac384941b4
2 changed files with 10 additions and 4 deletions

6
dist/index.js vendored
View file

@ -118706,16 +118706,17 @@ function run() {
if (inputs.path.startsWith(`~`)) {
inputs.path = inputs.path.replace('~', os.homedir());
}
const isSingleArtifactDownload = !!inputs.name;
const resolvedPath = path.resolve(inputs.path);
core.debug(`Resolved path is ${resolvedPath}`);
const [owner, repo] = inputs.repository.split('/');
if (!owner || !repo) {
throw new Error(`Invalid repository: '${inputs.repository}'. Must be in format owner/repo`);
}
const isSingleArtifactDownload = !!inputs.name;
const artifactClient = artifact.create();
let artifacts = [];
if (isSingleArtifactDownload) {
core.info(`Downloading single artifact`);
const { artifact: targetArtifact } = yield artifactClient.getArtifact(inputs.name, inputs.runID, owner, repo, inputs.token);
if (!targetArtifact) {
throw new Error(`Artifact '${inputs.name}' not found`);
@ -118724,6 +118725,7 @@ function run() {
artifacts = [targetArtifact];
}
else {
core.info(`No input name specified, downloading all artifacts. Extra directory with the artifact name will be created for each download`);
const listArtifactResponse = yield artifactClient.listArtifacts(inputs.runID, owner, repo, inputs.token);
if (listArtifactResponse.artifacts.length === 0) {
throw new Error(`No artifacts found for run '${inputs.runID}' in '${inputs.repository}'`);
@ -118732,7 +118734,7 @@ function run() {
artifacts = listArtifactResponse.artifacts;
}
const downloadPromises = artifacts.map(artifact => artifactClient.downloadArtifact(artifact.id, owner, repo, inputs.token, {
path: isSingleArtifactDownload ? resolvedPath : path.join(resolvedPath, inputs.name)
path: isSingleArtifactDownload ? resolvedPath : path.join(resolvedPath, artifact.name)
}));
const chunkedPromises = exports.chunk(downloadPromises, PARALLEL_DOWNLOADS);
for (const chunk of chunkedPromises) {