This commit is contained in:
Dotan Simha 2020-07-27 12:39:09 +03:00
parent fa272b315b
commit 3eefc7a3e6
2 changed files with 27 additions and 9 deletions

View File

@ -1,7 +1,7 @@
export enum Inputs { export enum Inputs {
Name = 'name', Name = 'name',
Path = 'path', Path = 'path',
SkipArchive = 'skipArchive', SkipArchive = 'skipArchive'
} }
export function getDefaultArtifactName(): string { export function getDefaultArtifactName(): string {

View File

@ -2,7 +2,7 @@ import * as core from '@actions/core'
import {create, UploadOptions, ArtifactClient} from '@actions/artifact' import {create, UploadOptions, ArtifactClient} from '@actions/artifact'
import {Inputs, getDefaultArtifactName} from './constants' import {Inputs, getDefaultArtifactName} from './constants'
import {findFilesToUpload} from './search' import {findFilesToUpload} from './search'
import { basename } from 'path'; import {basename} from 'path'
async function run(): Promise<void> { async function run(): Promise<void> {
try { try {
@ -26,16 +26,28 @@ async function run(): Promise<void> {
continueOnError: false continueOnError: false
} }
const uploadedArtifacts: string[] = []; const uploadedArtifacts: string[] = []
if (skipArchive) { if (skipArchive) {
for (const file of searchResult.filesToUpload) { for (const file of searchResult.filesToUpload) {
const resultName = await uploadArtifacts(artifactClient, [file], searchResult.rootDirectory, options, basename(file)); const resultName = await uploadArtifacts(
resultName && uploadedArtifacts.push(resultName); artifactClient,
[file],
searchResult.rootDirectory,
options,
basename(file)
)
resultName && uploadedArtifacts.push(resultName)
} }
} else { } else {
const resultName = await uploadArtifacts(artifactClient, searchResult.filesToUpload, searchResult.rootDirectory, options, name); const resultName = await uploadArtifacts(
resultName && uploadedArtifacts.push(resultName); artifactClient,
searchResult.filesToUpload,
searchResult.rootDirectory,
options,
name
)
resultName && uploadedArtifacts.push(resultName)
} }
core.setOutput('uploaded_artifacts', uploadedArtifacts.join(',')) core.setOutput('uploaded_artifacts', uploadedArtifacts.join(','))
@ -45,7 +57,13 @@ async function run(): Promise<void> {
} }
} }
async function uploadArtifacts(artifactClient: ArtifactClient, files: string[], rootDirectory: string, options: UploadOptions, name = getDefaultArtifactName()): Promise<string | undefined> { async function uploadArtifacts(
artifactClient: ArtifactClient,
files: string[],
rootDirectory: string,
options: UploadOptions,
name = getDefaultArtifactName()
): Promise<string | undefined> {
const uploadResponse = await artifactClient.uploadArtifact( const uploadResponse = await artifactClient.uploadArtifact(
name, name,
files, files,
@ -62,7 +80,7 @@ async function uploadArtifacts(artifactClient: ArtifactClient, files: string[],
`Artifact ${uploadResponse.artifactName} has been successfully uploaded!` `Artifact ${uploadResponse.artifactName} has been successfully uploaded!`
) )
return uploadResponse.artifactName; return uploadResponse.artifactName
} }
} }