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.
|
* 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) {
|
async function getPRDetails(github, core, owner, repo, pull_number, limitFileChanged, limitLinesChanged) {
|
||||||
const { data: files } = await github.rest.pulls.listFiles({
|
const { data: files } = await github.rest.pulls.listFiles({
|
||||||
owner,
|
owner,
|
||||||
@@ -22,6 +47,14 @@ async function getPRDetails(github, core, owner, repo, pull_number, limitFileCha
|
|||||||
pull_number
|
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 filesChanged = files.length;
|
||||||
let linesChanged = files.reduce((total, file) => total + file.additions + file.deletions, 0);
|
let linesChanged = files.reduce((total, file) => total + file.additions + file.deletions, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -512,7 +512,7 @@ jobs:
|
|||||||
uses: ./.github/actions/determine-complexity
|
uses: ./.github/actions/determine-complexity
|
||||||
with:
|
with:
|
||||||
file-changed-limit: 10
|
file-changed-limit: 10
|
||||||
lines-changed-limit: 450
|
lines-changed-limit: 340
|
||||||
|
|
||||||
verify-downstream:
|
verify-downstream:
|
||||||
needs: determine-complexity
|
needs: determine-complexity
|
||||||
|
|||||||
Reference in New Issue
Block a user