Skip to content

infra: Improve pr pipeline speed#522

Merged
frhuelsz merged 7 commits into
mainfrom
user/frhuelsz/pipeline/pr/parallel-make
Feb 26, 2026
Merged

infra: Improve pr pipeline speed#522
frhuelsz merged 7 commits into
mainfrom
user/frhuelsz/pipeline/pr/parallel-make

Conversation

@frhuelsz
Copy link
Copy Markdown
Contributor

🔍 Description

Parallelize a couple things where possible

Copilot AI review requested due to automatic review settings February 18, 2026 21:25
@frhuelsz frhuelsz requested a review from a team as a code owner February 18, 2026 21:25
Comment thread Makefile Outdated
./scripts/test-pipeline tester -q $(BRANCH_FLAG)
./scripts/test-pipeline scale-official -q $(BRANCH_FLAG)
./scripts/test-pipeline full-validation -q $(BRANCH_FLAG)
./scripts/test-pipeline --parallel -q $(BRANCH_FLAG) \
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

love, love, love this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unfortunately the az-cli version in pipelines has a race condition that prevents the use fo --parallel :(

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves pipeline speed by enabling parallel execution of pipeline validation checks and reorganizing Azure DevOps pipeline jobs to run concurrently.

Changes:

  • Modified scripts/test-pipeline to accept multiple pipeline names and support a --parallel flag for concurrent execution
  • Updated Makefile to call the script once with all pipeline names instead of sequential invocations
  • Restructured Azure DevOps pipeline jobs into separate parallel jobs (Make_Pipelines, Check_Licenses, Make)

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
scripts/test-pipeline Added multi-pipeline support with nargs="+" and parallel execution via ThreadPoolExecutor
Makefile Consolidated 11 sequential pipeline checks into single parallelized invocation
.pipelines/templates/stages/validate_makefile/dev-build.yml Split single Make job into three parallel jobs for pipeline validation, license checking, and build tasks

Comment thread Makefile Outdated
Comment thread scripts/test-pipeline Outdated
Comment thread Makefile Outdated
bfjelds
bfjelds previously approved these changes Feb 18, 2026
Copilot AI review requested due to automatic review settings February 18, 2026 21:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

Comment thread scripts/test-pipeline
Comment thread Makefile
Comment thread scripts/test-pipeline Outdated
Comment thread scripts/test-pipeline Outdated
Comment thread scripts/test-pipeline Outdated
Copilot AI review requested due to automatic review settings February 18, 2026 23:58
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread scripts/test-pipeline Outdated
Comment thread scripts/test-pipeline
Copilot AI review requested due to automatic review settings February 25, 2026 23:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread scripts/test-pipeline

with concurrent.futures.ThreadPoolExecutor() as executor:
futures = {
executor.submit(check_pipeline, name, selected_branch): name
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The check_pipeline function is called without the quiet parameter in parallel mode. This means output will be printed even when --parallel is used with --quiet, which contradicts the requirement enforced at line 82-83. Pass args.quiet as the third argument to check_pipeline.

Suggested change
executor.submit(check_pipeline, name, selected_branch): name
executor.submit(check_pipeline, name, selected_branch, args.quiet): name

Copilot uses AI. Check for mistakes.
Comment thread scripts/test-pipeline
args = parser.parse_args()

if args.parallel and not args.quiet:
parser.error("--parallel requires --quiet (-q)")
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The error message could be more descriptive about why --parallel requires --quiet. Consider expanding it to explain that parallel execution may interleave output, making it unreadable without the quiet flag.

Suggested change
parser.error("--parallel requires --quiet (-q)")
parser.error(
"--parallel requires --quiet (-q) because parallel execution may interleave "
"output from multiple pipelines, making it unreadable without quiet mode."
)

Copilot uses AI. Check for mistakes.
@frhuelsz frhuelsz merged commit 71b6afb into main Feb 26, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants