diff --git a/__tests__/util.test.ts b/__tests__/util.test.ts index c3966ed..c0a7d16 100644 --- a/__tests__/util.test.ts +++ b/__tests__/util.test.ts @@ -46,6 +46,7 @@ describe("util", () => { input_body_path: undefined, input_draft: false, input_prerelease: false, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -67,6 +68,7 @@ describe("util", () => { input_body_path: "__tests__/release.txt", input_draft: false, input_prerelease: false, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -88,6 +90,7 @@ describe("util", () => { input_body_path: "__tests__/release.txt", input_draft: false, input_prerelease: false, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -121,6 +124,7 @@ describe("util", () => { input_body_path: undefined, input_draft: undefined, input_prerelease: undefined, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -148,6 +152,7 @@ describe("util", () => { input_draft: undefined, input_prerelease: undefined, input_files: [], + input_preserve_order: undefined, input_name: undefined, input_tag_name: undefined, input_fail_on_unmatched_files: false, @@ -173,6 +178,7 @@ describe("util", () => { input_draft: undefined, input_prerelease: undefined, input_files: [], + input_preserve_order: undefined, input_name: undefined, input_tag_name: undefined, input_fail_on_unmatched_files: false, @@ -198,6 +204,7 @@ describe("util", () => { input_body_path: undefined, input_draft: undefined, input_prerelease: undefined, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -215,6 +222,7 @@ describe("util", () => { parseConfig({ INPUT_DRAFT: "false", INPUT_PRERELEASE: "true", + INPUT_PRESERVE_ORDER: "true", GITHUB_TOKEN: "env-token", INPUT_TOKEN: "input-token", }), @@ -227,6 +235,7 @@ describe("util", () => { input_body_path: undefined, input_draft: false, input_prerelease: true, + input_preserve_order: true, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -254,6 +263,7 @@ describe("util", () => { input_body_path: undefined, input_draft: false, input_prerelease: true, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -280,6 +290,7 @@ describe("util", () => { input_body_path: undefined, input_draft: false, input_prerelease: true, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -305,6 +316,7 @@ describe("util", () => { input_body_path: undefined, input_draft: undefined, input_prerelease: undefined, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, @@ -330,6 +342,7 @@ describe("util", () => { input_body_path: undefined, input_draft: undefined, input_prerelease: undefined, + input_preserve_order: undefined, input_files: [], input_name: undefined, input_tag_name: undefined, diff --git a/action.yml b/action.yml index 580a57e..f9b5206 100644 --- a/action.yml +++ b/action.yml @@ -21,6 +21,9 @@ inputs: prerelease: description: "Identify the release as a prerelease. Defaults to false" required: false + preserve_order: + description: "Preserver the order of the artifacts when uploading" + required: false files: description: "Newline-delimited list of path globs for asset files to upload" required: false diff --git a/src/main.ts b/src/main.ts index 3c3cf21..73a033d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -88,7 +88,7 @@ async function run() { }; let assets; - if (config.preserve_order) { + if (!config.input_preserve_order) { assets = await Promise.all(files.map(uploadFile)); } else { assets = []; diff --git a/src/util.ts b/src/util.ts index 6ca51bf..f98760a 100644 --- a/src/util.ts +++ b/src/util.ts @@ -13,6 +13,7 @@ export interface Config { input_body_path?: string; input_files?: string[]; input_draft?: boolean; + input_preserve_order?: boolean; input_prerelease?: boolean; input_fail_on_unmatched_files?: boolean; input_target_commitish?: string; @@ -62,6 +63,9 @@ export const parseConfig = (env: Env): Config => { input_body_path: env.INPUT_BODY_PATH, input_files: parseInputFiles(env.INPUT_FILES || ""), input_draft: env.INPUT_DRAFT ? env.INPUT_DRAFT === "true" : undefined, + input_preserve_order: env.INPUT_PRESERVE_ORDER + ? env.INPUT_PRESERVE_ORDER == "true" + : undefined, input_prerelease: env.INPUT_PRERELEASE ? env.INPUT_PRERELEASE == "true" : undefined,