@testream/dotnet-reporter 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +120 -68
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2164,79 +2164,131 @@ module.exports = toNumber;
|
|
|
2164
2164
|
|
|
2165
2165
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2166
2166
|
exports.detectCIContext = detectCIContext;
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
*/
|
|
2171
|
-
function detectCIContext() {
|
|
2172
|
-
const env = process.env;
|
|
2173
|
-
// GitHub Actions
|
|
2174
|
-
if (env.GITHUB_ACTIONS === 'true') {
|
|
2175
|
-
return {
|
|
2176
|
-
branch: env.GITHUB_HEAD_REF || env.GITHUB_REF_NAME || env.GITHUB_REF?.replace('refs/heads/', ''),
|
|
2177
|
-
commitSha: env.GITHUB_SHA,
|
|
2178
|
-
repositoryUrl: env.GITHUB_SERVER_URL && env.GITHUB_REPOSITORY
|
|
2179
|
-
? `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}`
|
|
2180
|
-
: undefined,
|
|
2181
|
-
buildNumber: env.GITHUB_RUN_NUMBER,
|
|
2182
|
-
buildUrl: env.GITHUB_SERVER_URL && env.GITHUB_REPOSITORY && env.GITHUB_RUN_ID
|
|
2183
|
-
? `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}`
|
|
2184
|
-
: undefined,
|
|
2185
|
-
};
|
|
2167
|
+
function removePrefix(value, prefix) {
|
|
2168
|
+
if (!value) {
|
|
2169
|
+
return undefined;
|
|
2186
2170
|
}
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2171
|
+
return value.startsWith(prefix) ? value.slice(prefix.length) : value;
|
|
2172
|
+
}
|
|
2173
|
+
function readEnvironment() {
|
|
2174
|
+
const runtime = globalThis;
|
|
2175
|
+
return runtime.process?.env ?? {};
|
|
2176
|
+
}
|
|
2177
|
+
function buildGithubRepositoryUrl(env) {
|
|
2178
|
+
if (!env.GITHUB_SERVER_URL || !env.GITHUB_REPOSITORY) {
|
|
2179
|
+
return undefined;
|
|
2196
2180
|
}
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
repositoryUrl: env.BUILD_REPOSITORY_URI,
|
|
2203
|
-
buildNumber: env.BUILD_BUILDNUMBER,
|
|
2204
|
-
buildUrl: env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI && env.SYSTEM_TEAMPROJECT && env.BUILD_BUILDID
|
|
2205
|
-
? `${env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI}${env.SYSTEM_TEAMPROJECT}/_build/results?buildId=${env.BUILD_BUILDID}`
|
|
2206
|
-
: undefined,
|
|
2207
|
-
};
|
|
2181
|
+
return `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}`;
|
|
2182
|
+
}
|
|
2183
|
+
function buildGithubBuildUrl(env) {
|
|
2184
|
+
if (!env.GITHUB_SERVER_URL || !env.GITHUB_REPOSITORY || !env.GITHUB_RUN_ID) {
|
|
2185
|
+
return undefined;
|
|
2208
2186
|
}
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
repositoryUrl: env.CIRCLE_REPOSITORY_URL,
|
|
2215
|
-
buildNumber: env.CIRCLE_BUILD_NUM,
|
|
2216
|
-
buildUrl: env.CIRCLE_BUILD_URL,
|
|
2217
|
-
};
|
|
2187
|
+
return `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}`;
|
|
2188
|
+
}
|
|
2189
|
+
function detectGitHubBranch(env) {
|
|
2190
|
+
if (env.GITHUB_HEAD_REF) {
|
|
2191
|
+
return env.GITHUB_HEAD_REF;
|
|
2218
2192
|
}
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
return {
|
|
2222
|
-
branch: env.GIT_BRANCH?.replace('origin/', ''),
|
|
2223
|
-
commitSha: env.GIT_COMMIT,
|
|
2224
|
-
repositoryUrl: env.GIT_URL,
|
|
2225
|
-
buildNumber: env.BUILD_NUMBER,
|
|
2226
|
-
buildUrl: env.BUILD_URL,
|
|
2227
|
-
};
|
|
2193
|
+
if (env.GITHUB_REF?.startsWith('refs/heads/')) {
|
|
2194
|
+
return env.GITHUB_REF_NAME ?? removePrefix(env.GITHUB_REF, 'refs/heads/');
|
|
2228
2195
|
}
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2196
|
+
return undefined;
|
|
2197
|
+
}
|
|
2198
|
+
function detectGitHubActionsContext(env) {
|
|
2199
|
+
return {
|
|
2200
|
+
branch: detectGitHubBranch(env),
|
|
2201
|
+
commitSha: env.GITHUB_SHA,
|
|
2202
|
+
repositoryUrl: buildGithubRepositoryUrl(env),
|
|
2203
|
+
buildNumber: env.GITHUB_RUN_NUMBER,
|
|
2204
|
+
buildUrl: buildGithubBuildUrl(env),
|
|
2205
|
+
};
|
|
2206
|
+
}
|
|
2207
|
+
function detectGitLabContext(env) {
|
|
2208
|
+
return {
|
|
2209
|
+
branch: env.CI_COMMIT_BRANCH || env.CI_MERGE_REQUEST_SOURCE_BRANCH_NAME,
|
|
2210
|
+
commitSha: env.CI_COMMIT_SHA,
|
|
2211
|
+
repositoryUrl: env.CI_PROJECT_URL,
|
|
2212
|
+
buildNumber: env.CI_PIPELINE_IID,
|
|
2213
|
+
buildUrl: env.CI_PIPELINE_URL,
|
|
2214
|
+
};
|
|
2215
|
+
}
|
|
2216
|
+
function detectAzurePipelinesContext(env) {
|
|
2217
|
+
return {
|
|
2218
|
+
branch: removePrefix(env.BUILD_SOURCEBRANCH, 'refs/heads/'),
|
|
2219
|
+
commitSha: env.BUILD_SOURCEVERSION,
|
|
2220
|
+
repositoryUrl: env.BUILD_REPOSITORY_URI,
|
|
2221
|
+
buildNumber: env.BUILD_BUILDNUMBER,
|
|
2222
|
+
buildUrl: env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI && env.SYSTEM_TEAMPROJECT && env.BUILD_BUILDID
|
|
2223
|
+
? `${env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI}${env.SYSTEM_TEAMPROJECT}/_build/results?buildId=${env.BUILD_BUILDID}`
|
|
2224
|
+
: undefined,
|
|
2225
|
+
};
|
|
2226
|
+
}
|
|
2227
|
+
function detectCircleCIContext(env) {
|
|
2228
|
+
return {
|
|
2229
|
+
branch: env.CIRCLE_BRANCH,
|
|
2230
|
+
commitSha: env.CIRCLE_SHA1,
|
|
2231
|
+
repositoryUrl: env.CIRCLE_REPOSITORY_URL,
|
|
2232
|
+
buildNumber: env.CIRCLE_BUILD_NUM,
|
|
2233
|
+
buildUrl: env.CIRCLE_BUILD_URL,
|
|
2234
|
+
};
|
|
2235
|
+
}
|
|
2236
|
+
function detectJenkinsContext(env) {
|
|
2237
|
+
return {
|
|
2238
|
+
branch: removePrefix(env.GIT_BRANCH, 'origin/'),
|
|
2239
|
+
commitSha: env.GIT_COMMIT,
|
|
2240
|
+
repositoryUrl: env.GIT_URL,
|
|
2241
|
+
buildNumber: env.BUILD_NUMBER,
|
|
2242
|
+
buildUrl: env.BUILD_URL,
|
|
2243
|
+
};
|
|
2244
|
+
}
|
|
2245
|
+
function detectBitbucketContext(env) {
|
|
2246
|
+
return {
|
|
2247
|
+
branch: env.BITBUCKET_BRANCH,
|
|
2248
|
+
commitSha: env.BITBUCKET_COMMIT,
|
|
2249
|
+
repositoryUrl: env.BITBUCKET_GIT_HTTP_ORIGIN,
|
|
2250
|
+
buildNumber: env.BITBUCKET_BUILD_NUMBER,
|
|
2251
|
+
buildUrl: env.BITBUCKET_REPO_FULL_NAME && env.BITBUCKET_BUILD_NUMBER
|
|
2252
|
+
? `https://bitbucket.org/${env.BITBUCKET_REPO_FULL_NAME}/pipelines/results/${env.BITBUCKET_BUILD_NUMBER}`
|
|
2253
|
+
: undefined,
|
|
2254
|
+
};
|
|
2255
|
+
}
|
|
2256
|
+
const CI_PROVIDER_DETECTORS = [
|
|
2257
|
+
{
|
|
2258
|
+
isMatch: (env) => env.GITHUB_ACTIONS === 'true',
|
|
2259
|
+
detect: detectGitHubActionsContext,
|
|
2260
|
+
},
|
|
2261
|
+
{
|
|
2262
|
+
isMatch: (env) => env.GITLAB_CI === 'true',
|
|
2263
|
+
detect: detectGitLabContext,
|
|
2264
|
+
},
|
|
2265
|
+
{
|
|
2266
|
+
isMatch: (env) => env.TF_BUILD === 'True',
|
|
2267
|
+
detect: detectAzurePipelinesContext,
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
isMatch: (env) => env.CIRCLECI === 'true',
|
|
2271
|
+
detect: detectCircleCIContext,
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
isMatch: (env) => Boolean(env.JENKINS_URL),
|
|
2275
|
+
detect: detectJenkinsContext,
|
|
2276
|
+
},
|
|
2277
|
+
{
|
|
2278
|
+
isMatch: (env) => Boolean(env.BITBUCKET_BUILD_NUMBER),
|
|
2279
|
+
detect: detectBitbucketContext,
|
|
2280
|
+
},
|
|
2281
|
+
];
|
|
2282
|
+
/**
|
|
2283
|
+
* Detect CI context from environment variables
|
|
2284
|
+
* Supports: GitHub Actions, GitLab CI, Azure Pipelines, CircleCI, Jenkins, Bitbucket Pipelines
|
|
2285
|
+
*/
|
|
2286
|
+
function detectCIContext() {
|
|
2287
|
+
const env = readEnvironment();
|
|
2288
|
+
for (const provider of CI_PROVIDER_DETECTORS) {
|
|
2289
|
+
if (provider.isMatch(env)) {
|
|
2290
|
+
return provider.detect(env);
|
|
2291
|
+
}
|
|
2240
2292
|
}
|
|
2241
2293
|
return {};
|
|
2242
2294
|
}
|