1
0
Fork 0
mirror of https://code.forgejo.org/actions/upload-artifact synced 2025-06-26 20:38:01 +02:00

retry upload artifact

This commit is contained in:
charlie4284 2024-03-26 21:41:22 +09:00
parent ef09cdac3e
commit bacb5b323b
No known key found for this signature in database
GPG key ID: A1A7A8D885849C1E
4 changed files with 139 additions and 83 deletions

View file

@ -1,27 +1,10 @@
import * as core from '@actions/core'
import artifact, {
UploadArtifactOptions,
ArtifactNotFoundError
} from '@actions/artifact'
import {UploadArtifactOptions} from '@actions/artifact'
import {findFilesToUpload} from '../shared/search'
import {getInputs} from './input-helper'
import {NoFileOptions} from './constants'
import {uploadArtifact} from '../shared/upload-artifact'
async function deleteArtifactIfExists(artifactName: string): Promise<void> {
try {
await artifact.deleteArtifact(artifactName)
} catch (error) {
if (error instanceof ArtifactNotFoundError) {
core.debug(`Skipping deletion of '${artifactName}', it does not exist`)
return
}
// Best effort, we don't want to fail the action if this fails
core.debug(`Unable to delete artifact: ${(error as Error).message}`)
}
}
export async function run(): Promise<void> {
const inputs = getInputs()
const searchResult = await findFilesToUpload(inputs.searchPath)
@ -54,10 +37,6 @@ export async function run(): Promise<void> {
)
core.debug(`Root artifact directory is ${searchResult.rootDirectory}`)
if (inputs.overwrite) {
await deleteArtifactIfExists(inputs.artifactName)
}
const options: UploadArtifactOptions = {}
if (inputs.retentionDays) {
options.retentionDays = inputs.retentionDays
@ -71,7 +50,8 @@ export async function run(): Promise<void> {
inputs.artifactName,
searchResult.filesToUpload,
searchResult.rootDirectory,
options
options,
inputs.overwrite
)
}
}