-
Notifications
You must be signed in to change notification settings - Fork 813
Parallelize CI workflow by adding Django versions to job matrix #1219
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
Parallelize CI workflow by adding Django versions to job matrix #1219
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1219 +/- ##
=======================================
Coverage 96.97% 96.97%
=======================================
Files 31 31
Lines 1821 1821
=======================================
Hits 1766 1766
Misses 55 55 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
pre-commit needs fixing |
@joshuadavidthomas please rebase now that #1218 is merged. |
@joshuadavidthomas I see some required builds that are expected but waiting to status. Is this an artifact of the changes and safe to merge anyway? |
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.
Looks good but. think we'll have to merge and deploy to confirm.
Yes, I believe so. |
I think the branch protections are getting in the way, I may need to adjust the workflow to have a 'sum up' job at the end to check if any jobs failed and then the branch protection can look for that instead of the individual |
@n2ygk @Andrew-Chen-Wang who has access to the branch protection rules? I suspect the reason the Expect 3.10, 3.7, 3.8, and 3.9 are hanging up the build process is that those tests are explicitly listed as required. We'll need to update that list of tests when merging this. |
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!
@joshuadavidthomas do you have the inclination to add a success job to the workflow as indicated in jazzband/help#321 (comment) by hugovk?
|
Yeah, absolutely. Who should I ping when I’m done? |
@joshuadavidthomas , I think only @jezdez has the necessary permissions. maybe @hugovk does as well. I'll be happy to review the code though. |
Only roadies have access and @jezdez is the only roadie, see jazzband/help#196. Hopefully he can get to this soon 👍 |
I can't add the summary job before it's run at least once on GitHub here. Let me know when you've made the change. I dislike removing branch protection details for security critical projects like this. |
@jezdez I think you need to override the protections to merge this given these new build steps statuses are not reporting even though they show as successful in Actions: I'm not knowledgeable about GH Actions so defer to you, @joshuadavidthomas and @dopry |
@jezdez I've added the success job. It has ran, https://github.com/jazzband/django-oauth-toolkit/actions/runs/4165563688/jobs/7209027629. Can you update the checks on the branch protection to reference it now instead of the individual builds? |
decouple successful from specific matrix builds to avoid GH admin intervention as we update our supported matrix.
Thanks @jezdez!!! |
@joshuadavidthomas no worries. I know how it is. :) Thanks for getting this done in the first place. It's really appreciated. |
Description of the Change
Adds an additional job matrix that includes all the Django versions this package supports and excludes certain combinations of Python and Django from running. Also removes the
max-parallel
restriction for parallel CI jobs.This should dramatically speed up CI tests, cutting almost 20 minutes from the total runtime.
Note: I have another open PR (#1218) that adds Python 3.11 to CI and tox. Either this PR or that one will need to be rebased once either one is accepted and merged.
Before
~25 minutes
After
~8 minutes
Checklist
CHANGELOG.md
updated (only for user relevant changes)AUTHORS