-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
chore: Optimize CircleCI workflow #1919
Conversation
Signed-off-by: sawadashota <xiootas@gmail.com>
2a26847
to
bbf7c0b
Compare
Thank you! The problem really is CircleCI here which doesn't support canceling parallel jobs. Do you know if GitHub Actions does that? I think that the wait time is caused by the "executor" machine type which we currently use to check the legacy migrations. I was thinking of removing these tests once 1.5.2 is out because, unless we make changes, I don't think that there will be any issues with the new migration system. |
I just checked and it appears that GitHub actions supports up to 20 concurrent workflows per repository, which would be much much more than we have on CircleCI right now. Since it's free for open source without hard usage limits (as opposed to CircleCI) it might be something we need to switch to. Would be a lot of work though :/ |
Yeah, GitHub Actions seems better and it will need a lot of effort. |
- test-e2e-postgres | ||
- test-e2e-mysql | ||
- test-e2e-cockroach | ||
- test-e2e-plugin | ||
- test-legacy-migrations-postgres |
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.
Why did you remove these?
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.
Because it still depend on indirectly. test-legacy-migrations-mysql
and test-legacy-migrations-cockroach
depend on test-legacy-migrations-postgres
. So does test-e2e-memory
.
Yeah I also saw that it's not possible to do manual job approval, which we currently use for sending out the newsletter :/ |
Thank you! |
Proposed changes
Optimize CircleCI workflow to catch error and end faster.
CircleCI jobs work 4 jobs maximum at same time because of free OSS plan.
In hydra, there are 12 jobs to be kicked at created PR but actually just each random 4 jobs proceed.
I think there are 2 problems.
First, we cannot catch error faster if similar and long jobs such as
test-e2e-*
ortest-legacy-*
are kicked.Second, error PR blocks other PR because concurrency limitation is shared. If on of
test-e2e-*
failed, others are likely to fail for same reason.So I changed workflow like this
before
![image](https://user-images.githubusercontent.com/21254456/85190459-a7309f00-b2f3-11ea-9904-dda8909a2029.png)
after
![image](https://user-images.githubusercontent.com/21254456/85191039-5d968300-b2f8-11ea-9c24-5828c3cb270e.png)
Checklist
vulnerability. If this pull request addresses a security. vulnerability, I
confirm that I got green light (please contact
security@ory.sh) from the maintainers to push
the changes.
works.
Further comments