Merge branch 'dev/pr_automation_2' into dev/test_pr_automation_2
Build on RHEL9 docker image / build (push) Successful in 4m31s
Build on RHEL8 docker image / build (push) Successful in 5m7s
Run Simulator Tests on local RHEL9 / build (push) Successful in 20m7s
Run Simulator Tests on local RHEL8 / build (push) Successful in 23m28s

This commit is contained in:
2026-09-01 15:19:06 +02:00
+45 -35
View File
@@ -102,9 +102,15 @@ jobs:
/*
* --------------------------------------------------
* 2. Detect detector from detector-server folders
* 2. Detect detector from changed files
* --------------------------------------------------
*
* We inspect each file once and short-circuit as soon
* as a detector-server folder confirms a label. That
* avoids scanning the same detector folder again and
* avoids checking the rest of the file for unrelated
* detector names.
*
* Examples:
*
* slsDetectorServers/eigerDetectorServer/...
@@ -115,45 +121,49 @@ jobs:
* ↓
* Xilinx_ctb
*/
const ignoredDetectorServerFolders = new Set();
for (const file of files) {
const match = file.filename.match(
const serverMatch = file.filename.match(
/^slsDetectorServers\/([^/]+)DetectorServer\//
);
if (!match) {
continue;
if (serverMatch) {
const detectorFolder = serverMatch[0];
// Skip all later files under a detected detector folder.
if (ignoredDetectorServerFolders.has(detectorFolder)) {
core.info(
`Skipping file in ignored detector-server folder: ${file.filename}`
);
continue;
}
const detectorName = serverMatch[1];
/*
* Remove "DetectorServer" and capitalize
* the first character.
*/
const detector =
detectorName.charAt(0).toUpperCase() +
detectorName.slice(1);
if (detectorLabels.includes(detector)) {
detectedDetectors.add(detector);
core.info(
`Detected ${detector} from detector-server path: ${file.filename}`
);
// Once a detector is confirmed from the server folder,
// do not inspect this file or the rest of that folder.
ignoredDetectorServerFolders.add(detectorFolder);
continue;
}
}
const detectorName = match[1];
/*
* Remove "DetectorServer" and capitalize
* the first character.
*/
const detector =
detectorName.charAt(0).toUpperCase() +
detectorName.slice(1);
if (detectorLabels.includes(detector)) {
detectedDetectors.add(detector);
core.info(
`Detected ${detector} from detector-server path: ${file.filename}`
);
}
}
/*
* --------------------------------------------------
* 3. Detect detector from changed code
* --------------------------------------------------
*
* Only the PR patch is searched.
*
* Therefore, text that already existed elsewhere
* in an unchanged file does not trigger a label.
*/
for (const file of files) {
// Only inspect the PR patch, never the full file.
if (!file.patch) {
continue;
}
@@ -176,7 +186,7 @@ jobs:
/*
* --------------------------------------------------
* 4. Detect detector from PR title/description
* 3. Detect detector from PR title/description
* --------------------------------------------------
*/