Skip to content

Commit e0d6d97

Browse files
committed
qa: add debug logging on why a job might not be excluded
Signed-off-by: Maximilian Bösing <[email protected]>
1 parent c6f9387 commit e0d6d97

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

src/config/app.ts

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,12 @@ function isJobExcludedByDeprecatedCommandName(job: Job, exclusions: JobToExclude
240240
);
241241
}
242242

243-
function isJobExcludedByConfiguration(job: Job, exclude: JobToExcludeFromFile, config: Config): boolean {
243+
function isJobExcludedByConfiguration(
244+
job: Job,
245+
exclude: JobToExcludeFromFile,
246+
config: Config,
247+
logger: Logger
248+
): boolean {
244249
const jobName = isJobFromTool(job) ? job.tool.name : job.name;
245250

246251
if (jobName !== exclude.name) {
@@ -251,23 +256,35 @@ function isJobExcludedByConfiguration(job: Job, exclude: JobToExcludeFromFile, c
251256
const dependenciesToExclude = exclude.dependencies ?? WILDCARD_ALIAS;
252257

253258
if (!isAnyPhpVersionType(phpVersionToExclude)) {
259+
const nonExcludedPhpVersionDebugMessage = `Job with name ${ jobName } is not matching exclusion rule`
260+
+ ` with name ${ exclude.name } due to non-excluded php version.`;
261+
254262
if (isLowestPhpVersionType(phpVersionToExclude) && job.job.php !== config.minimumPhpVersion) {
263+
logger.debug(nonExcludedPhpVersionDebugMessage);
264+
255265
return false;
256266
}
257267

258268
if (isLatestPhpVersionType(phpVersionToExclude) && job.job.php !== config.latestPhpVersion) {
269+
logger.debug(nonExcludedPhpVersionDebugMessage);
270+
259271
return false;
260272
}
261273

262274
if (phpVersionToExclude !== job.job.php) {
275+
logger.debug(nonExcludedPhpVersionDebugMessage);
276+
263277
return false;
264278
}
265279
}
266280

267-
if (!isAnyComposerDependencySet(dependenciesToExclude)) {
268-
if (dependenciesToExclude !== job.job.composerDependencySet) {
269-
return false;
270-
}
281+
if (!isAnyComposerDependencySet(dependenciesToExclude) && dependenciesToExclude !== job.job.composerDependencySet) {
282+
logger.debug(
283+
`Job with name ${ jobName } is not matching exclusion rule`
284+
+ ` with name ${ exclude.name } due to non-excluded Composer dependencies.`
285+
);
286+
287+
return false;
271288
}
272289

273290
return true;
@@ -278,7 +295,7 @@ function isJobExcluded(job: Job, exclusions: JobToExcludeFromFile[], config: Con
278295
return false;
279296
}
280297

281-
if (exclusions.some((exclude) => isJobExcludedByConfiguration(job, exclude, config))) {
298+
if (exclusions.some((exclude) => isJobExcludedByConfiguration(job, exclude, config, logger))) {
282299
logger.info(`Job with name ${ job.name } is excluded due to application config.`);
283300

284301
return true;

0 commit comments

Comments
 (0)