@@ -5,34 +5,46 @@ const GHA_ARTIFACTS_LAMBDA =
5
5
"https://np6xty2nm6jifkuuyb6wllx6ha0qtthb.lambda-url.us-east-1.on.aws" ;
6
6
7
7
export default async function fetchS3Links (
8
- suiteId : string
8
+ suiteIds : string
9
9
) : Promise < Artifact [ ] > {
10
- const response = await fetch ( GHA_ARTIFACTS_LAMBDA , {
11
- method : "POST" ,
12
- body : JSON . stringify ( {
13
- workflow_id : suiteId ,
14
- } ) ,
15
- headers : {
16
- "Content-Type" : "application/json" ,
17
- } ,
18
- } ) ;
10
+ const unflattenedList = await Promise . all (
11
+ _ ( suiteIds )
12
+ . split ( "," )
13
+ . uniq ( )
14
+ . map ( async ( suiteId ) => {
15
+ suiteId = suiteId . trim ( ) ;
16
+ const response = await fetch ( GHA_ARTIFACTS_LAMBDA , {
17
+ method : "POST" ,
18
+ body : JSON . stringify ( {
19
+ workflow_id : suiteId ,
20
+ } ) ,
21
+ headers : {
22
+ "Content-Type" : "application/json" ,
23
+ } ,
24
+ } ) ;
19
25
20
- const results = await response . json ( ) ;
21
- const artifacts =
22
- _ . keys ( results ) . map ( ( url : string ) => {
23
- const size = results [ url ] ;
24
- const basename = url . split ( "/" ) . slice ( - 1 ) [ 0 ] ;
25
- const name =
26
- basename !== "artifacts.zip"
27
- ? basename
28
- : url . split ( "/" ) . slice ( - 2 ) . join ( "/" ) ;
29
- return {
30
- kind : "s3" ,
31
- name : name ?? "" ,
32
- sizeInBytes : size ?? 0 ,
33
- url : url ,
34
- expired : false ,
35
- } ;
36
- } ) ?? [ ] ;
37
- return artifacts . sort ( ( a , b ) => a . name . localeCompare ( b . name ) ) ;
26
+ const results = await response . json ( ) ;
27
+ return (
28
+ _ . keys ( results ) . map ( ( url : string ) => {
29
+ const size = results [ url ] ;
30
+ const basename = url . split ( "/" ) . slice ( - 1 ) [ 0 ] ;
31
+ const name =
32
+ basename !== "artifacts.zip"
33
+ ? basename
34
+ : url . split ( "/" ) . slice ( - 2 ) . join ( "/" ) ;
35
+ return {
36
+ kind : "s3" ,
37
+ name : name ?? "" ,
38
+ sizeInBytes : size ?? 0 ,
39
+ url : url ,
40
+ expired : false ,
41
+ } ;
42
+ } ) ?? [ ]
43
+ ) ;
44
+ } )
45
+ . value ( )
46
+ ) ;
47
+ return _ . flatten ( unflattenedList ) . sort ( ( a , b ) => {
48
+ return a . name . localeCompare ( b . name ) ;
49
+ } ) ;
38
50
}
0 commit comments