mirror of
https://github.com/actions/upload-artifact.git
synced 2025-04-22 03:01:19 +00:00
try to allow to skip archive
This commit is contained in:
parent
589ca5fbdd
commit
bd14001b7a
3130
dist/index.js
vendored
3130
dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,7 @@
|
|||||||
export enum Inputs {
|
export enum Inputs {
|
||||||
Name = 'name',
|
Name = 'name',
|
||||||
Path = 'path'
|
Path = 'path',
|
||||||
|
SkipArchive = 'skipArchive',
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDefaultArtifactName(): string {
|
export function getDefaultArtifactName(): string {
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
import * as core from '@actions/core'
|
import * as core from '@actions/core'
|
||||||
import {create, UploadOptions} 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';
|
||||||
|
|
||||||
async function run(): Promise<void> {
|
async function run(): Promise<void> {
|
||||||
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: true})
|
const path = core.getInput(Inputs.Path, {required: true})
|
||||||
|
const skipArchive = core.getInput(Inputs.SkipArchive, {required: false})
|
||||||
|
|
||||||
const searchResult = await findFilesToUpload(path)
|
const searchResult = await findFilesToUpload(path)
|
||||||
if (searchResult.filesToUpload.length === 0) {
|
if (searchResult.filesToUpload.length === 0) {
|
||||||
@ -23,10 +25,30 @@ async function run(): Promise<void> {
|
|||||||
const options: UploadOptions = {
|
const options: UploadOptions = {
|
||||||
continueOnError: false
|
continueOnError: false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const uploadedArtifacts: string[] = [];
|
||||||
|
|
||||||
|
if (skipArchive) {
|
||||||
|
for (const file of searchResult.filesToUpload) {
|
||||||
|
const resultName = await uploadArtifacts(artifactClient, [file], searchResult.rootDirectory, options, basename(file));
|
||||||
|
resultName && uploadedArtifacts.push(resultName);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const resultName = await uploadArtifacts(artifactClient, searchResult.filesToUpload, searchResult.rootDirectory, options, name);
|
||||||
|
resultName && uploadedArtifacts.push(resultName);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
core.setFailed(err.message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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 || getDefaultArtifactName(),
|
name,
|
||||||
searchResult.filesToUpload,
|
files,
|
||||||
searchResult.rootDirectory,
|
rootDirectory,
|
||||||
options
|
options
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -38,10 +60,8 @@ async function run(): Promise<void> {
|
|||||||
core.info(
|
core.info(
|
||||||
`Artifact ${uploadResponse.artifactName} has been successfully uploaded!`
|
`Artifact ${uploadResponse.artifactName} has been successfully uploaded!`
|
||||||
)
|
)
|
||||||
}
|
|
||||||
}
|
return uploadResponse.artifactName;
|
||||||
} catch (err) {
|
|
||||||
core.setFailed(err.message)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user