diff --git a/jenkins/L0_MergeRequest.groovy b/jenkins/L0_MergeRequest.groovy index a6aa092d541..72e2aa75744 100644 --- a/jenkins/L0_MergeRequest.groovy +++ b/jenkins/L0_MergeRequest.groovy @@ -347,12 +347,15 @@ def mergeWaiveList(pipeline, globalVars) // Get waive list diff in current MR def diff = getMergeRequestOneFileChanges(pipeline, globalVars, "tests/integration/test_lists/waives.txt") + // Write diff to a temporary file to avoid shell escaping issues + writeFile file: 'diff_content.txt', text: diff + // Merge waive lists sh """ python3 mergeWaiveList.py \ --cur-waive-list=waives_CUR_${env.gitlabCommit}.txt \ --latest-waive-list=waives_TOT_${targetBranchTOTCommit}.txt \ - --diff='${diff}' \ + --diff-file=diff_content.txt \ --output-file=waives.txt """ trtllm_utils.uploadArtifacts("waives*.txt", "${UPLOAD_PATH}/waive_list/") diff --git a/jenkins/scripts/mergeWaiveList.py b/jenkins/scripts/mergeWaiveList.py index 418a603b9af..af4d7222bbb 100644 --- a/jenkins/scripts/mergeWaiveList.py +++ b/jenkins/scripts/mergeWaiveList.py @@ -7,7 +7,9 @@ # 3. Merge the current MR waive list and TOT waive list, and remove the removed lines from the step 1 -def get_remove_lines_from_diff(diff): +def get_remove_lines_from_diff_file(diff_file): + with open(diff_file, 'r') as f: + diff = f.read() lines = diff.split('\n') remove_lines = [ line[1:] + '\n' for line in lines @@ -47,10 +49,12 @@ def merge_waive_list(cur_list, main_list, remove_lines, output_file): parser.add_argument('--latest-waive-list', required=True, help='Latest waive list') - parser.add_argument('--diff', required=True, help='Diff of the waive list') + parser.add_argument('--diff-file', + required=True, + help='File containing diff of the waive list') parser.add_argument('--output-file', required=True, help='Output file') args = parser.parse_args(sys.argv[1:]) cur_list = parse_waive_txt(args.cur_waive_list) main_list = parse_waive_txt(args.latest_waive_list) - remove_lines = get_remove_lines_from_diff(args.diff) + remove_lines = get_remove_lines_from_diff_file(args.diff_file) merge_waive_list(cur_list, main_list, remove_lines, args.output_file)