Closed alanmels closed 2 years ago
I agree it might be time to move away from Zen CI. I'm grateful for all the work Gor put into it and for providing free hosting for automated tests. I didn't realize the servers were located in Russia. Gor, at least last I heard from him, lives in Canada.
What other options do we have? Go back to Travis CI? We'd need to investigate the database optimization that Zen CI had specifically for Backdrop and see if it can be replicated in other services as well.
I agree it might be time to move away from Zen CI. I'm grateful for all the work Gor put into it and for providing free hosting for automated tests. I didn't realize the servers were located in Russia. Gor, at least last I heard from him, lives in Canada.
Might as well be in Canada. That was my guess based on the fact they work with Russian-speaking clientele. Also, not to offend any Russian-speaking person (as myself am originally form that part of the world), but data centers more likely to burn down in Russia than in Canada.
Options:
Just to be clear, for folks like myself that might have been a bit confused. We are talking about automated tests now, not sandbox sites. I was confused by this issue, because I thought we were already moving away from Zen.ci, but that is just for sandboxes. https://github.com/backdrop/backdrop-issues/issues/4351
Automated tests is another issue. I believe that this has been discussed a number of time and as far as I know, the only think blocking us from changing to another service is: 1) A decision on what to use as an alternative 2) A volunteer willing to take the initiative to make this happen.
See https://github.com/backdrop/backdrop-issues/issues/4753 re. using GH Actions.
I appreciate that this one is about looking at a bunch of alternatives and not just GitHub Actions. Though the latter might be the best option, it's also good to just compare some at some level.
the only think blocking us from changing to another service is 1) ... 2) ...
And 3) Gor has done some serious magic to lower the test times down to ~5min for php7 and less than 10min for php5. These times have increased slightly over the course of time, but it's still 6-7min for php7 and 10-15min for php5, which is still far better than what Drupal tests take to run.
That's what I recall too. I think a part of it was having a cached copy of the fresh db for testing. That might be in core already, I'm not sure.
But there's something else but would have to look at the old issues first.
I thought I should link these 2 issues from here:
If you think we're having problems with tests running it's nothing compared to https://github.com/backdrop/backdrop-issues/issues/1422.
Also, here's where Gor made a bunch of improvements. Luckily they're not specific to Zen CI: https://github.com/backdrop/backdrop-issues/issues/1835
Currently, the big problem is that we are constrained by the database processing speed. The big optimization that Gor did was to convert the cached profile tables to MyISAM, which is not supported well in newer versions of MySQL. MyISAM is much faster than INNODB when creating or dropping tables because in INNODB any queries that alter the schema are locking for the whole database.
I have been trying to work on optimizing the tests for quite a while, but there is a limit on how much I can remove database queries from the system. https://github.com/backdrop/backdrop-issues/issues/4353 https://github.com/backdrop/backdrop-issues/issues/4943
https://circleci.com/open-source
We support the open source community. Organizations on our free plan get 400,000 credits per month for open source builds.
...their https://circleci.com/pricing page mentions that their "Performance" plan "Starts at 50,000 credits" per month, which translates to "25,000 credits/month for the first 3 users. 25,000 credits/month for each additional user." ...so if my math is right, those free 400k credits for open source would translate to 3+15=18 users/month, which would be more than enough for the size of our community as it is now.
...they mention "Scale up to 80x concurrency" for this "Performance" plan, but I'm not sure if we could get that on the free plan (most likely not, but we should ask).
PS: I'm not sure how fast those credits would be spent, but we could give the free plan a go, and see if it works for us. For an initial phase, we should have both ZenCI as well as any other solution running; then once enough time has passed, we'd be able to make a decision based on how it performs.
@klonos I don't think we can assume that "user" in Circle CI will translate to individual github users. Instead, I suspect it might be that the Backdrop core project would have only 1 "user" that will be automated.
We're not using Zen.ci anymore. We've moved our sandboxes to Tugboat and our tests to GitHub Actions. So closing this issue as complete.
Every single time we create PRs we have to close and re-open them multiple times to get passed by quite frequently problematic zen.ci. Sometimes we have to wait until something resets on zen.ci side and then only try to pass it's validation. And it could take hours or even days. This is becoming bit annoying.
Not sure why this service is so unstable, but I can guess that's because their servers are located in Russia - zen.ci is a product of a Russian company - IT Patrol inc, which went through major incident recently. And though for English-speaking users they've put the following announcement on http://it-patrol.com:
the real reason can be found on: http://drupalhosting.ru/newsletters/%D0%BF%D1%80%D0%BE%D0%B8%D1%81%D1%88%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D0%B5-10-%D0%BC%D0%B0%D1%80%D1%82%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%88%D0%B8-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D1%8B
Here is Google Translation:
Regardless, of the incident and possible degree of it's negative effect on our operations, it was always problematic, even before the incident. So it would be better to find a better alternative.