@@ -48,6 +48,7 @@ export interface CiEnvVars {
48
48
CI_PROJECT_USERNAME : string | undefined ;
49
49
JOB_NAME : string | undefined ;
50
50
CIRCLE_PROJECT_ID : string | undefined ;
51
+ CIRCLE_WORKFLOW_JOB_ID : string | undefined ;
51
52
}
52
53
53
54
interface ReportStatistics {
@@ -113,14 +114,13 @@ export const slackRunner = async ({
113
114
} ) ;
114
115
const SLACK_WEBHOOK_URL = process . env . SLACK_WEBHOOK_URL ;
115
116
116
- if ( ! SLACK_WEBHOOK_URL ) {
117
- throw new Error ( ' no SLACK_WEBHOOK_URL env var set' )
117
+ if ( ! SLACK_WEBHOOK_URL ) {
118
+ throw new Error ( " no SLACK_WEBHOOK_URL env var set" ) ;
118
119
}
119
120
120
121
switch ( reportStatistics . status ) {
121
122
case "failed" : {
122
- const slackWebhookFailedUrl = process . env
123
- . SLACK_WEBHOOK_FAILED_URL ;
123
+ const slackWebhookFailedUrl = process . env . SLACK_WEBHOOK_FAILED_URL ;
124
124
const slackWebhookUrls = slackWebhookFailedUrl
125
125
? slackWebhookFailedUrl . split ( "," )
126
126
: SLACK_WEBHOOK_URL . split ( "," ) ;
@@ -147,7 +147,7 @@ export const slackRunner = async ({
147
147
"Slack message sent successfully"
148
148
) ;
149
149
return result ;
150
- } catch ( e ) {
150
+ } catch ( e : any ) {
151
151
e . code
152
152
? log . error (
153
153
{
@@ -198,7 +198,7 @@ export const slackRunner = async ({
198
198
"Slack message sent successfully"
199
199
) ;
200
200
return result ;
201
- } catch ( e ) {
201
+ } catch ( e : any ) {
202
202
e . code
203
203
? log . error (
204
204
{
@@ -220,8 +220,7 @@ export const slackRunner = async ({
220
220
) ;
221
221
}
222
222
default : {
223
- const slackWebhookErrorUrl = process . env
224
- . SLACK_WEBHOOK_ERROR_URL ;
223
+ const slackWebhookErrorUrl = process . env . SLACK_WEBHOOK_ERROR_URL ;
225
224
const slackWebhookUrls = slackWebhookErrorUrl
226
225
? slackWebhookErrorUrl . split ( "," )
227
226
: SLACK_WEBHOOK_URL . split ( "," ) ;
@@ -244,7 +243,7 @@ export const slackRunner = async ({
244
243
) ;
245
244
246
245
return result ;
247
- } catch ( e ) {
246
+ } catch ( e : any ) {
248
247
e . code
249
248
? log . error (
250
249
{
@@ -267,7 +266,7 @@ export const slackRunner = async ({
267
266
}
268
267
}
269
268
}
270
- } catch ( e ) {
269
+ } catch ( e : any ) {
271
270
throw new Error ( e ) ;
272
271
}
273
272
} ;
@@ -600,9 +599,11 @@ const getVideoLinks = async ({
600
599
const videoLinks = await Promise . all (
601
600
videos . map ( ( videoObject ) => {
602
601
const trimmedVideoFilename = path . basename ( videoObject ) ;
603
- return `<${ videosURL } /${ videosDir } /${ path . relative (
602
+
603
+ return `<${ buildUrl (
604
+ videosURL ,
604
605
videosDir ,
605
- videoObject
606
+ path . relative ( videosDir , videoObject )
606
607
) } |Video:- ${ trimmedVideoFilename } >\n`;
607
608
} )
608
609
) ;
@@ -640,9 +641,11 @@ const getScreenshotLinks = async ({
640
641
const screenshotLinks = await Promise . all (
641
642
screenshots . map ( ( screenshotObject ) => {
642
643
const trimmedScreenshotFilename = path . basename ( screenshotObject ) ;
643
- return `<${ screenshotURL } /${ screenshotDir } /${ path . relative (
644
+
645
+ return `<${ buildUrl (
646
+ screenshotURL ,
644
647
screenshotDir ,
645
- screenshotObject
648
+ path . relative ( screenshotDir , screenshotObject )
646
649
) } |Screenshot:- ${ trimmedScreenshotFilename } >\n`;
647
650
} )
648
651
) ;
@@ -676,15 +679,7 @@ const getArtefactUrl = async ({
676
679
if ( customUrl ) {
677
680
return customUrl ;
678
681
} else if ( ciProvider === "circleci" ) {
679
- switch ( vcsRoot ) {
680
- case "github" :
681
- return `https://${ ciEnvVars . CI_BUILD_NUM } -${ ciEnvVars . CIRCLE_PROJECT_ID } -gh.circle-artifacts.com/0/` ;
682
- case "bitbucket" :
683
- return `https://${ ciEnvVars . CI_BUILD_NUM } -${ ciEnvVars . CIRCLE_PROJECT_ID } -bb.circle-artifacts.com/0/` ;
684
- default : {
685
- return "" ;
686
- }
687
- }
682
+ return `https://output.circle-artifacts.com/output/job/${ ciEnvVars . CIRCLE_WORKFLOW_JOB_ID } /artifacts/0/` ;
688
683
}
689
684
return "" ;
690
685
} ;
@@ -717,6 +712,7 @@ const resolveCIProvider = async (ciProvider?: string): Promise<CiEnvVars> => {
717
712
CI_PROJECT_USERNAME ,
718
713
JOB_NAME ,
719
714
CIRCLE_PROJECT_ID ,
715
+ CIRCLE_WORKFLOW_JOB_ID ,
720
716
} = process . env ;
721
717
722
718
if ( ! ciProvider && process . env . CIRCLE_SHA1 ) {
@@ -739,20 +735,24 @@ const resolveCIProvider = async (ciProvider?: string): Promise<CiEnvVars> => {
739
735
( CI_PROJECT_USERNAME = process . env . CIRCLE_PROJECT_USERNAME ) ,
740
736
( JOB_NAME = process . env . CIRCLE_JOB ) ;
741
737
CIRCLE_PROJECT_ID = process . env . CIRCLE_PROJECT_ID ;
738
+ CIRCLE_WORKFLOW_JOB_ID = process . env . CIRCLE_WORKFLOW_JOB_ID ;
742
739
}
743
740
break ;
744
741
case "github" :
745
742
{
746
743
( CI_SHA1 = process . env . GITHUB_SHA ) ,
747
- ( CI_BRANCH = process . env . GITHUB_BASE_REF || process . env . GITHUB_HEAD_REF ) ,
744
+ ( CI_BRANCH =
745
+ process . env . GITHUB_BASE_REF || process . env . GITHUB_HEAD_REF ) ,
748
746
( CI_USERNAME = process . env . GITHUB_ACTOR ) ,
749
- ( CI_BUILD_URL = process . env . CIRCLE_BUILD_URL || 'CI_BUILD_URL' ) ,
750
- ( CI_BUILD_NUM = process . env . CIRCLE_BUILD_NUM || 'CIRCLE_BUILD_NUM' ) ,
751
- ( CI_PULL_REQUEST = process . env . CIRCLE_PULL_REQUEST || 'CIRCLE_PULL_REQUEST' ) ,
747
+ ( CI_BUILD_URL = process . env . CIRCLE_BUILD_URL || "CI_BUILD_URL" ) ,
748
+ ( CI_BUILD_NUM = process . env . CIRCLE_BUILD_NUM || "CIRCLE_BUILD_NUM" ) ,
749
+ ( CI_PULL_REQUEST =
750
+ process . env . CIRCLE_PULL_REQUEST || "CIRCLE_PULL_REQUEST" ) ,
752
751
( CI_PROJECT_REPONAME = process . env . GITHUB_REPOSITORY ) , // The owner and repository name. For example, octocat/Hello-World.
753
752
( CI_PROJECT_USERNAME = process . env . GITHUB_REPOSITORY_OWNER ) ,
754
753
( JOB_NAME = process . env . GITHUB_ACTION ) ;
755
- CIRCLE_PROJECT_ID = process . env . CIRCLE_PROJECT_ID || 'CIRCLE_PROJECT_ID' ;
754
+ CIRCLE_PROJECT_ID =
755
+ process . env . CIRCLE_PROJECT_ID || "CIRCLE_PROJECT_ID" ;
756
756
}
757
757
break ;
758
758
case "jenkins" :
@@ -799,6 +799,7 @@ const resolveCIProvider = async (ciProvider?: string): Promise<CiEnvVars> => {
799
799
CI_PROJECT_USERNAME ,
800
800
JOB_NAME ,
801
801
CIRCLE_PROJECT_ID ,
802
+ CIRCLE_WORKFLOW_JOB_ID ,
802
803
} ;
803
804
} ;
804
805
0 commit comments