-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Conversation
With two jobs the end-to-end tests take 11:00 minutes instead of 16:40, which is a 44% time reduction! Let's see if things keep improving with 3 clusters or the overhead is too high. |
3 clusters doesn't really make it faster (it takes 11 minutes all the same), so let's keep it at 2. |
It turns out that the free tier of CircleCI only provides two CPU cores ( That explains it, let's see if I can make the switch to a |
I created a ticket at the CNCF support desk to upgrade the fluxcd org to CircleCI's performance plan. However, I just realized that there is a per-user charge, which doesn't really make sense in an open source project with external contributors, so I will clarify this with CircleCI first. I just created a support ticket with them as well. |
I just left a call with some CircleCI guys and it turns out that the per-user charge only applies to users making use of private repos (which we have none). The CircleCI stats are currently broken but it seems we are using 50K credits per month. Payment goes in blocks of 25K creates so it shouldn't translate in more than $30 per month. I am looking into getting into a trial. |
2b40192
to
fcc10ff
Compare
It seems we weren't put on the trial plan yet. I am in conversations with the CNCF support desk so that the upgrade the plan. |
Let's get this merged first and then change the number of clusters once we are upgraded to the performance plan (which @caniszczyk agreed to do). |
b1c6e9f
to
a063763
Compare
I need this for executing bats tests in parallel (`--jobs` flag). Bats hasn't made a release in over a year, so instead of using a release I am installing the archive of the (current) master commit.
d0ed02b
to
38c58ed
Compare
17bfbc9
to
c370ed7
Compare
I have now upgraded the e2e tests and CircleCI to 4 cores, which brings the Most of the overhead comes from the kind clusters creation, which, although done in parallel, still takes a long time (~4 minutes). This overhead will be amortized when we add more tests. |
The total execution time of build has gone down to ~13 minutes from ~22 minutes. |
I think we can get even better by:
But I will do that in a separate PR |
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.
On the basis that:
- it's already demonstrated as working
- it's a modest change, limited to the build system
I approve this PR with the following endorsements 🏎️
Largely derived from fluxcd/flux#2647
Largely derived from fluxcd/flux#2647
The parallelization happens by running tests in multiple Kubernetes clusters (created with Kind).
I've had to fork bats in order to wire the clusters with the tests. I am waiting on bats-core/bats-core#255 to be merged before using upstream-bats again.
Let's see what results we get in CircleCI ...
Fixes #2646