[ruby-core:113854] ruby/ruby Cirrus CI improvement

Hello Fedor @ Cirrus CI, CC: Ruby Core mailing list. Thank you for helping the Ruby project for adding Cirrus CI. I am sending an email to ask you for help to improve the Cirrus CI. We are running 4 parallel jobs (2 gcc cases ARM, 2 clang cases ARM) in the Cirrus CI. However, I am seeing some challenges such as the queue is stopping, and the clang cases are 2 or 3 times slower than gcc cases. So, today we stopped the 2 clang cases in a compromised way. Could you check our .cirrus.yml file on the reverted commit, and give advice to us and ideally just send a pull-request to the master branch for that? https://github.com/ruby/ruby/blob/master/.cirrus.yml ``` $ git clone https://github.com/ruby/ruby.git $ cd ruby $ git revert 72f07f0a5f882e87e305d668587152fa209a0568. ``` I suspect the current `cpu:` value might not be correct. And we may need the following change. ``` diff --git a/.cirrus.yml b/.cirrus.yml index be76e4ab4a..8b820be1a2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -16,10 +16,10 @@ task: image: ghcr.io/ruby/ruby-ci-image:$CC # Define the used cpu core in each matrix task. We can use total 16 cpu # cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks] - cpu: 8 + cpu: 4 # We can request maximum 4 GB per cpu. # [memory per task] = [memory per cpu: 4 GB] * [cpu] - memory: 32G + memory: 16G env: CIRRUS_CLONE_DEPTH: 50 optflags: '-O1' @@ -71,10 +71,10 @@ yjit_task: image: ghcr.io/ruby/ruby-ci-image:$CC # Define the used cpu core in each matrix task. We can use total 16 cpu # cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks] - cpu: 8 + cpu: 4 # We can request maximum 4 GB per cpu. # [memory per task] = [memory per cpu: 4 GB] * [cpu] - memory: 32G + memory: 16G env: CIRRUS_CLONE_DEPTH: 50 optflags: '-O1' ``` Thank you for your help! -- Jun | He - Him | Timezone: UTC+1 or 2, Czech Republic See <https://www.worldtimebuddy.com/czech-republic-prague-to-utc> for the timezone.

Dear Cirrus CI customer support, Thank you for helping us (Ruby project)! Could you check the following message about the issue in Cirrus CI in the Ruby project? I noticed sending an email to the customer support email is better than sending an email to a person's email. So, I am sending the message to the support email again. Long story short, we see Cirrus CI is unstable in our cases (running 4 cases in Arm), and we want your advice for our .cirrus.yml file to fill our needs. https://cirrus-ci.org/support/
The best way to ask general questions about particular use cases is to email our support team at support+ci@cirruslabs.org. Our support team is trying our best to respond ASAP, but there is no guarantee on a response time unless your organization enrolls in Priority Support.
Kind regards, Jun On Fri, Jun 9, 2023 at 12:57 PM Jun Aruga (he / him) <jaruga@redhat.com> wrote:
Hello Fedor @ Cirrus CI, CC: Ruby Core mailing list.
Thank you for helping the Ruby project for adding Cirrus CI. I am sending an email to ask you for help to improve the Cirrus CI. We are running 4 parallel jobs (2 gcc cases ARM, 2 clang cases ARM) in the Cirrus CI. However, I am seeing some challenges such as the queue is stopping, and the clang cases are 2 or 3 times slower than gcc cases. So, today we stopped the 2 clang cases in a compromised way.
Could you check our .cirrus.yml file on the reverted commit, and give advice to us and ideally just send a pull-request to the master branch for that?
https://github.com/ruby/ruby/blob/master/.cirrus.yml
``` $ git clone https://github.com/ruby/ruby.git $ cd ruby $ git revert 72f07f0a5f882e87e305d668587152fa209a0568. ```
I suspect the current `cpu:` value might not be correct. And we may need the following change.
``` diff --git a/.cirrus.yml b/.cirrus.yml index be76e4ab4a..8b820be1a2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -16,10 +16,10 @@ task: image: ghcr.io/ruby/ruby-ci-image:$CC # Define the used cpu core in each matrix task. We can use total 16 cpu # cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks] - cpu: 8 + cpu: 4 # We can request maximum 4 GB per cpu. # [memory per task] = [memory per cpu: 4 GB] * [cpu] - memory: 32G + memory: 16G env: CIRRUS_CLONE_DEPTH: 50 optflags: '-O1' @@ -71,10 +71,10 @@ yjit_task: image: ghcr.io/ruby/ruby-ci-image:$CC # Define the used cpu core in each matrix task. We can use total 16 cpu # cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks] - cpu: 8 + cpu: 4 # We can request maximum 4 GB per cpu. # [memory per task] = [memory per cpu: 4 GB] * [cpu] - memory: 32G + memory: 16G env: CIRRUS_CLONE_DEPTH: 50 optflags: '-O1' ```
Thank you for your help!
-- Jun | He - Him | Timezone: UTC+1 or 2, Czech Republic See <https://www.worldtimebuddy.com/czech-republic-prague-to-utc> for the timezone.
-- Jun | He - Him | Timezone: UTC+1 or 2, Czech Republic See <https://www.worldtimebuddy.com/czech-republic-prague-to-utc> for the timezone.
participants (1)
-
Jun Aruga (he / him)