Skip to content

Test each minor version of the CodeQL CLI in PR checks #932

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

henrymercer
Copy link
Contributor

Opening this for discussion: this PR ensures that we test the latest patch version of each minor version of the CodeQL CLI we support. This gives us better assurance that the versions of the CodeQL CLI we claim to support function correctly with the Action. However, it does lead to an increase in CI jobs on a repo where the number of CI jobs is already becoming blocking due to concurrency limits.

Let's discuss whether we want this or not, and if we don't want it, let's come up with a principled way of deciding what versions of the CodeQL Bundle we test in PR checks.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Confirm the readme has been updated if necessary.
  • Confirm the changelog has been updated if necessary.

@henrymercer henrymercer requested a review from a team as a code owner February 16, 2022 12:52
@henrymercer henrymercer changed the title Test each minor version of the CodeQL CLI Test each minor version of the CodeQL CLI in PR checks Feb 16, 2022
@henrymercer henrymercer force-pushed the henrymercer/fix-flaky-tests branch from 4ef2013 to 49c1e2f Compare February 16, 2022 13:32
Test the latest patch version of each minor version of the CodeQL CLI we
support.
@henrymercer henrymercer force-pushed the henrymercer/test-all-latest-minor-versions branch from b1e12fa to bdd647c Compare February 16, 2022 13:40
@criemen
Copy link
Contributor

criemen commented Feb 16, 2022

👍 from me, I like the direction of this a lot.

@aeisenberg
Copy link
Contributor

Thanks for putting this up.

A point of discussion is that we now have 250 checks that run for each PR. This change added 60 new checks. Each check is fairly small and runs reasonably quickly. Every new PR check we add will add 24 new checks (previously, they would add 18).

I don't actually know if there are any real limits that we will hit if we keep on increasing the number of jobs at the rate.

I do know that an external contributor who ran the actions checks in a fork reached a limit and had quite a few failing jobs in their fork.

@criemen
Copy link
Contributor

criemen commented Feb 16, 2022

That's a really good point.

There is an org-wide limit of 500 actions jobs running concurrently I believe, so maybe we need to refactor/throttle how we do these checks before merging this.

@aeisenberg
Copy link
Contributor

OK...so we're not at the 500 checks yet, but we're inching towards it. I wonder if we can combine some of our PR checks into a single job. We'd still need to matrix them, but at least, in theory, we could run all the checks for actions version XYZ on windows in a single job.

We'd need to change the workflow generator to produce that.

@henrymercer
Copy link
Contributor Author

Another option is reconsidering whether we have some checks that it'd be sufficient to run using a single bundle or a limited set of bundles, for instance the "Analyze: 'ref' and 'sha' from inputs" check.

Base automatically changed from henrymercer/fix-flaky-tests to main February 17, 2022 11:49
Copy link
Contributor

@aeisenberg aeisenberg left a comment

Choose a reason for hiding this comment

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

OK...let's get this one in and then we can pursue one or both possibilities:

  1. run multiple checks in each job and keep the matrix
  2. avoid running the matrix for each check. Some checks will only run once.

I would definitely like the freedom to ensure that we can add new checks and integration tests without hitting any limits.

@henrymercer
Copy link
Contributor Author

I would like to get this in, but I think it's worth doing the other cleanups first so we don't make merging PRs any more painful. I'm on vacation Friday and next week but will return to this when I get back.

@henrymercer
Copy link
Contributor Author

Closing as stale, will pick up when there's capacity.

@henrymercer henrymercer deleted the henrymercer/test-all-latest-minor-versions branch May 17, 2022 10:00
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.

3 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy