mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
Check new algoritm
This commit is contained in:
@@ -15,6 +15,31 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
function determineComplexity(changedFiles, totalFilesChanged, totalLinesChanged, limitFileChanged, limitLinesChanged) {
|
||||
let level = 'unknown';
|
||||
let packagesAffected = new Set();
|
||||
|
||||
// Determine packagesAffected and if the level should be major based on file paths
|
||||
for (let filePath of changedFiles) {
|
||||
if (filePath.startsWith('lib/core/') || filePath.startsWith('lib/extensions/')) {
|
||||
level = 'major';
|
||||
packagesAffected.add(filePath.split('/')[2]);
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the number of files or lines changed exceeds limits
|
||||
if (totalFilesChanged > limitFileChanged || totalLinesChanged > limitLinesChanged) {
|
||||
level = 'major';
|
||||
}
|
||||
|
||||
return {
|
||||
filesChanged: totalFilesChanged,
|
||||
linesChanged: totalLinesChanged,
|
||||
level: level,
|
||||
packagesAffected: Array.from(packagesAffected) // Convert Set to Array for the output
|
||||
};
|
||||
}
|
||||
|
||||
async function getPRDetails(github, core, owner, repo, pull_number, limitFileChanged, limitLinesChanged) {
|
||||
const { data: files } = await github.rest.pulls.listFiles({
|
||||
owner,
|
||||
@@ -22,6 +47,14 @@ async function getPRDetails(github, core, owner, repo, pull_number, limitFileCha
|
||||
pull_number
|
||||
});
|
||||
|
||||
const complexity = determineComplexity(
|
||||
files.map((file) => file.filename),
|
||||
files.length,
|
||||
files.reduce((total, file) => total + file.additions + file.deletions, 0),
|
||||
limitFileChanged,
|
||||
limitLinesChanged
|
||||
);
|
||||
|
||||
let filesChanged = files.length;
|
||||
let linesChanged = files.reduce((total, file) => total + file.additions + file.deletions, 0);
|
||||
|
||||
|
||||
@@ -512,7 +512,7 @@ jobs:
|
||||
uses: ./.github/actions/determine-complexity
|
||||
with:
|
||||
file-changed-limit: 10
|
||||
lines-changed-limit: 450
|
||||
lines-changed-limit: 340
|
||||
|
||||
verify-downstream:
|
||||
needs: determine-complexity
|
||||
|
||||
Reference in New Issue
Block a user