Skip to content

Set max-parallel for all GitHub action jobs#1602

Open
stevedlawrence wants to merge 1 commit intoapache:mainfrom
stevedlawrence:daffodil-3069-github-action-max-parallel
Open

Set max-parallel for all GitHub action jobs#1602
stevedlawrence wants to merge 1 commit intoapache:mainfrom
stevedlawrence:daffodil-3069-github-action-max-parallel

Conversation

@stevedlawrence
Copy link
Member

@stevedlawrence stevedlawrence commented Feb 3, 2026

In accordance with ASF policy, set job.strategy.max-parallel to the recommended 15 or less. Most values are set to 1, except for when there are matrices, in which case the value is set to the number of expected jobs for the matrix, with a maximum of 15.

DAFFODIL-3069

Closes #[issue]

Description

[Please include a summary of the change and which issue is fixed. Also include relevant context or motivation.]

Wiki

  • I have determined that no documentation updates are needed for these changes
  • I have added the following documentation for these changes

[List added wiki/docs documentation here for review, if applicable]

Review Instructions including Screenshots

[Add review instructions including screenshots or GIFs to help explain the change visually.]

Confirmation Testing

[OPTIONAL: Describe the tests you performed to confirm that the change works as intended.
Include steps, commands, test data, or screenshots/GIFs as necessary.]

Regression Testing

[OPTIONAL: Describe any regression testing performed to ensure existing functionality was not broken.
List relevant test suites, manual checks, or validation steps.]

build-test-package:
name: "Build, Test, and Package (OS: ${{ matrix.os }}, Node: ${{ matrix.node }}, Java: ${{ matrix.java_version }}, VS Code: ${{ matrix.vscode }})"
strategy:
max-parallel: 15
Copy link
Member Author

Choose a reason for hiding this comment

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

Note that the matrix for this job results in 44 jobs. With a max-parallel of 15, this is expected to take approximately 3 times longer. Maybe that's fine if each job is only a couple of minutes. But it might be worth taking a look at this matrix to see if all of these jobs are really necessary, or if some could be removed and still provide confidence that a PR does not break anything.

Copy link
Contributor

@shanedell shanedell Feb 4, 2026

Choose a reason for hiding this comment

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

@stevedlawrence Do you think possibly removing ubuntu or macos from some would be okay? Basically doing the assumption that if it works on Ubuntu or MacOS it should work on the other or what would you suggest?

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure, daffodil only has one job for macOS so cutting back some of the OS matrices seems reasonable to me. Especially since typescript and Java are mostly OS agnostic.

The main issue we frequently run into with OS differences is related to paths (e.g. slashes, spaces, newlines). And those are usually Java/typescript version agnostic. So also long as you have at least one job for each OS, one job for each Java version, typescript version, etc. you probably can get away with having a fairly sparse matrix.

Copy link
Contributor

Choose a reason for hiding this comment

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

Do you think that should be done in a different PR or in this one?

In accordance with ASF policy, set job.strategy.max-parallel to the
recommended 15 or less for jobs that specify a matrix. The value is set
to the number of expected jobs for the matrix, with a maximum of 15.

DAFFODIL-3069
@stevedlawrence stevedlawrence force-pushed the daffodil-3069-github-action-max-parallel branch from 51133ff to 147755b Compare February 3, 2026 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants