-
Notifications
You must be signed in to change notification settings - Fork 429
Fix Python CI jobs. #276
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
Fix Python CI jobs. #276
Conversation
|
Is the issue here that it's using the bundle from the virtual environment instead of whatever is the latest for this branch? Why did that cause a failure? Can you link to the logs as I didn't spot any failures? Note there's another job in this workflow. You've only changed the job for windows. I'd expect both want to be kept in sync. Also cc. @Daverlo on this PR |
It does neither of those. It always uses the
https://github.com/github/codeql-action/actions/runs/328696002
The other one always uses the version from the virtual environment so it doesn't break as easily (though it could still break arbitrarily when the environment is updated). It does seem like probably both the jobs are wrong, but only one is broken. |
ceec3d0 to
548e178
Compare
|
I've updated both the Windows and Linux tests to always use the latest bundle. I think this is probably the best thing to test because it ensures new bundles work before we start using them rather than after. It also means tests won't break when the environment updates. |
Daverlo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I forgot to remove the hardcoded version from the windows workflow.
The other one always uses the version from the virtual environment so it doesn't break as easily (though it could still break arbitrarily when the environment is updated). It does seem like probably both the jobs are wrong, but only one is broken.
Could you explain this a bit more please? I though the linux job was correct
|
The Linux job previously used whatever CodeQL bundle was included in the Actions environment it was running in, meaning:
Both of those seem like undesirable properties. |
This is the part that I'm not understanding. How would the environment be updated? |
|
The default CodeQL Bundle comes from the Actions virtual environments. They are periodically updated, getting their bundle from whatever is the latest bundle referenced in
|
|
I knew there were some changes in the process of releasing a new bundle, but I wasn't aware all this amazing work was done and now we are using the Actions virtual environments. That explains it, thanks! Lets merge this? |
The current Python CI jobs seem to assume the bundle will never be updated by referencing the bundle by exact version. They don't specify a static bundle to actually download though, so every time the bundle updates the CI will break.
I've fixed this by specifying the expected bundle as the one to download under the assumption that is what we want to test. We could also test the latest version, but that seems like it could break unexpectedly if there are changes to the Python extractor.
Merge / deployment checklist