@@ -5,14 +5,19 @@ import {
5
5
type ProviderUtilInputs ,
6
6
} from "../../types.ts" ;
7
7
import { parseSlugFromRemoteAddr } from "../git.ts" ;
8
+ import { type Output } from "../Output.ts" ;
9
+ import { debug } from "../logging.ts" ;
8
10
9
11
export function detect ( envs : ProviderEnvs ) : boolean {
10
12
return Boolean ( envs ?. SYSTEM_TEAMFOUNDATIONSERVERURI ) ;
11
13
}
12
14
13
15
function _getBuild ( inputs : ProviderUtilInputs ) : string {
14
16
const { args, envs } = inputs ;
15
- return args ?. build ?? envs ?. BUILD_BUILDNUMBER ?? "" ;
17
+ if ( args ?. build && args . build !== "" ) {
18
+ return args . build ;
19
+ }
20
+ return envs ?. BUILD_BUILDNUMBER ?? "" ;
16
21
}
17
22
18
23
function _getBuildURL ( inputs : ProviderUtilInputs ) : string {
@@ -25,8 +30,8 @@ function _getBuildURL(inputs: ProviderUtilInputs): string {
25
30
26
31
function _getBranch ( inputs : ProviderUtilInputs ) : string {
27
32
const { args, envs } = inputs ;
28
- if ( args ?. branch && args ? .branch !== "" ) {
29
- return args ? .branch ;
33
+ if ( args ?. branch && args . branch !== "" ) {
34
+ return args . branch ;
30
35
}
31
36
32
37
if ( envs ?. BUILD_SOURCEBRANCH ) {
@@ -42,12 +47,15 @@ function _getJob(envs: ProviderEnvs): string {
42
47
43
48
function _getPR ( inputs : ProviderUtilInputs ) : string {
44
49
const { args, envs } = inputs ;
45
- return (
46
- args ?. pr ??
50
+ if ( args ?. pr && args . pr !== "" ) {
51
+ return args . pr ;
52
+ }
53
+
54
+ const pr =
47
55
envs ?. SYSTEM_PULLREQUEST_PULLREQUESTNUMBER ??
48
56
envs ?. SYSTEM_PULLREQUEST_PULLREQUESTID ??
49
- ""
50
- ) ;
57
+ "" ;
58
+ return pr ;
51
59
}
52
60
53
61
function _getService ( ) : string {
@@ -58,11 +66,13 @@ export function getServiceName(): string {
58
66
return "Azure Pipelines" ;
59
67
}
60
68
61
- function _getSHA ( inputs : ProviderUtilInputs ) : string {
69
+ function _getSHA ( inputs : ProviderUtilInputs , output : Output ) : string {
62
70
const { args, envs } = inputs ;
63
-
64
- if ( args ?. sha && args ?. sha !== "" ) {
65
- return args ?. sha ;
71
+ if ( args ?. sha && args . sha !== "" ) {
72
+ debug ( `Using commit: ${ args ?. sha } ` , {
73
+ enabled : output . debug ,
74
+ } ) ;
75
+ return args . sha ;
66
76
}
67
77
68
78
let commit = envs ?. BUILD_SOURCEVERSION ?? "" ;
@@ -73,35 +83,47 @@ function _getSHA(inputs: ProviderUtilInputs): string {
73
83
. execFileSync ( "git" , [ "show" , "--no-patch" , "--format=%P" ] )
74
84
. toString ( )
75
85
. trimEnd ( ) ;
86
+
87
+ debug ( `Merge commit message: ${ mergeCommitMessage } ` , {
88
+ enabled : output . debug ,
89
+ } ) ;
90
+
76
91
if ( mergeCommitRegex . exec ( mergeCommitMessage ) ) {
77
- const mergeCommit = mergeCommitMessage . split ( " " ) [ 1 ] ;
78
- commit = mergeCommit ?? "" ;
92
+ const splitMergeCommit = mergeCommitMessage . split ( " " ) ;
93
+ debug ( `Split merge commit: ${ splitMergeCommit } ` , {
94
+ enabled : output . debug ,
95
+ } ) ;
96
+
97
+ commit = splitMergeCommit ?. [ 1 ] ?? "" ;
79
98
}
80
99
}
81
100
82
- return commit ?? "" ;
101
+ debug ( `Using commit: ${ commit } ` , {
102
+ enabled : output . debug ,
103
+ } ) ;
104
+
105
+ return commit ;
83
106
}
84
107
85
108
function _getSlug ( inputs : ProviderUtilInputs ) : string {
86
109
const { args, envs } = inputs ;
110
+ if ( args ?. slug && args . slug !== "" ) {
111
+ return args . slug ;
112
+ }
87
113
88
- return (
89
- args ?. slug ??
90
- envs ?. BUILD_REPOSITORY_NAME ??
91
- parseSlugFromRemoteAddr ( "" ) ??
92
- ""
93
- ) ;
114
+ return envs ?. BUILD_REPOSITORY_NAME ?? parseSlugFromRemoteAddr ( "" ) ?? "" ;
94
115
}
95
116
96
117
// eslint-disable-next-line @typescript-eslint/require-await
97
118
export async function getServiceParams (
98
119
inputs : ProviderUtilInputs ,
120
+ output : Output ,
99
121
) : Promise < ProviderServiceParams > {
100
122
return {
101
123
branch : _getBranch ( inputs ) ,
102
124
build : _getBuild ( inputs ) ,
103
125
buildURL : _getBuildURL ( inputs ) ,
104
- commit : _getSHA ( inputs ) ,
126
+ commit : _getSHA ( inputs , output ) ,
105
127
job : _getJob ( inputs . envs ) ,
106
128
pr : _getPR ( inputs ) ,
107
129
service : _getService ( ) ,
0 commit comments