[#102687] [Ruby master Bug#17666] Sleep in a thread hangs when Fiber.set_scheduler is set — arjundas.27586@...

Issue #17666 has been reported by arjunmdas (arjun das).

16 messages 2021/03/02

[#102776] [Ruby master Bug#17678] Ractors do not restart after fork — knuckles@...

SXNzdWUgIzE3Njc4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGl2b2Fuam8gKEl2byBBbmpvKS4NCg0K

8 messages 2021/03/08

[#102797] [Ruby master Feature#17684] Remove `--disable-gems` from release version of Ruby — hsbt@...

Issue #17684 has been reported by hsbt (Hiroshi SHIBATA).

17 messages 2021/03/10

[#102829] [Ruby master Bug#17718] a method paramaters object that can be pattern matched against — dsisnero@...

Issue #17718 has been reported by dsisnero (Dominic Sisneros).

9 messages 2021/03/11

[#102832] [Ruby master Misc#17720] Cirrus CI to check non-x86_64 architecture cases by own machines — jaruga@...

Issue #17720 has been reported by jaruga (Jun Aruga).

19 messages 2021/03/12

[#102850] [Ruby master Bug#17723] autoconf 2.70+ is not working with master branch — hsbt@...

Issue #17723 has been reported by hsbt (Hiroshi SHIBATA).

11 messages 2021/03/14

[#102884] [Ruby master Bug#17725] Prepend Breaks Ability to Alias — josh@...

Issue #17725 has been reported by joshuadreed (Josh Reed).

14 messages 2021/03/16

[#102914] [Ruby master Bug#17728] [BUG] Segmentation fault at 0x0000000000000000 — denthebat@...

Issue #17728 has been reported by meliborn (Denis Denis).

13 messages 2021/03/18

[#102919] [Ruby master Bug#17730] Ruby on macOS transitively links to ~150 dylibs — rickmark@...

Issue #17730 has been reported by rickmark (Rick Mark).

10 messages 2021/03/18

[#103013] [Ruby master Bug#17748] Ruby 3.0 takes a long time to resolv DNS of nonexistent domains — xdmx@...

Issue #17748 has been reported by xdmx (Eric Bloom).

8 messages 2021/03/25

[#103026] [Ruby master Feature#17749] Const source location without name — tenderlove@...

Issue #17749 has been reported by tenderlovemaking (Aaron Patterson).

10 messages 2021/03/25

[#103036] [Ruby master Misc#17751] Do these instructions (<<, +, [0..n]) modify the original string without creating copies? — cart4for1@...

Issue #17751 has been reported by stiuna (Juan Gregorio).

11 messages 2021/03/26

[#103040] [Ruby master Feature#17752] Enable -Wundef for C extensions in repository — eregontp@...

Issue #17752 has been reported by Eregon (Benoit Daloze).

23 messages 2021/03/26

[#103044] [Ruby master Feature#17753] Add Module#outer_scope — tenderlove@...

Issue #17753 has been reported by tenderlovemaking (Aaron Patterson).

31 messages 2021/03/26

[#103088] [Ruby master Feature#17760] Where we should install a header file when `gem install --user`? — muraken@...

Issue #17760 has been reported by mrkn (Kenta Murata).

11 messages 2021/03/30

[#103102] [Ruby master Feature#17762] A simple way to trace object allocation — mame@...

Issue #17762 has been reported by mame (Yusuke Endoh).

18 messages 2021/03/30

[#103105] [Ruby master Feature#17763] Implement cache for cvars — eileencodes@...

Issue #17763 has been reported by eileencodes (Eileen Uchitelle).

18 messages 2021/03/30

[#103132] [Ruby master Bug#17767] `Cloned ENV` inconsistently returns `ENV` or `self` — kachick1@...

SXNzdWUgIzE3NzY3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGthY2hpY2sgKEtlbmljaGkgS2FtaXlh

8 messages 2021/03/31

[ruby-core:102844] [Ruby master Misc#17720] Cirrus CI to check non-x86_64 architecture cases by own machines

From: jaruga@...
Date: 2021-03-13 10:53:33 UTC
List: ruby-core #102844
Issue #17720 has been updated by jaruga (Jun Aruga).


> > While we have RubyCI, I think we still have a motivation to run a CI on non-x86_64 architectures at a pull-request timing.
> 
> Yes, we want non-x86_64 CIs with cheaper (maintenance/money) cost.
> PR timing CI is desired rather than cron-based RubyCI.

Okay. For the cost of the maintenance, I remember on the ticket #16360 to add ppc64le/s390x, an issue that only happened on Travis ppc64le, but it was not reproduced on the local ppc64le environments prevented us from adding ppc64le to Travis. This kind of the cloud runner specific issue might be a cost in the cloud hosted runner, and might be improved in the self hosted runner.

> > When checking GitHub Actions, I do not feel it will happen soon on GitHub Actions [3].
>
> Ah..., I didn't know GitHub Actions Self-hosted runner doesn't support ppc64...

I didn't know the GitHub Actions also has the self-hosted runner like Cirrus CI's persistent workers, and it supports the arm64 and arm32 (Linux only). Thanks for the info.
https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners

> > Cirrus CI's persistent worker
>
> It sounds interesting... I'll discuss with other core people.

Thank you for the discussion!


----------------------------------------
Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
https://bugs.ruby-lang.org/issues/17720#change-90902

* Author: jaruga (Jun Aruga)
* Status: Open
* Priority: Normal
----------------------------------------
Hello!

This ticket is related to the tickets #16234 #16360. But I opened a new ticket because it is related to general non-x86_64 architecture CI cases.

I have a suggestion.

I see the `.travis.yml` was removed [1], and I also saw another open source project remove their `.travis.yml` because they could not get the credits to continue to run Travis [2]. I feel Travis is not really a possible option for every open source project for now.

While we have RubyCI, I think we still have a motivation to run a CI on non-x86_64 architectures at a pull-request timing. So, I investigated alternative CI. When checking GitHub Actions, I do not feel it will happen soon on GitHub Actions [3]. Then I found an interesting CI called "Cirrus CI", that might enable us to run CI on non-x86_64 architectures such as Mac M1 (arm) ppc64le and s390x beyond the cloud.

Cirrus CI has 2 types of features: "cloud" and "persistent workers". I see the Cirrus CI "cloud" feature has been used in the QEMU and podman projects [4][5]. It has a unique freeBSD host. However the remarkable feature for the Ruby project is the "persistent workers" [6] announced a few months ago, that is beyond the cloud. Because this feature enables us to use our own machines as a CI running host. You can see the examples running the CI with the machines such as Mac M1, iPhone, ppc64le and s390x on the page [6]. Maybe the used machine does not even have the global static IP. You can see other articles [7][8] too.

I can see some benefits to start Cirrus CI for the Ruby project.

* Possibly we can check Mac M1 (arm), ppc64le, s390x cases using machines used in RubyCI [9] and someone's machine such as @ReiOdaira's ppc64le/s390x machines at the pull-request timing.
* When we face the CI issue, we can login to the machine and use the interactive debugging tool such as gdb to fix it.
* The config file is YAML format and it has the matrix feature [10]. We are familiar with the YAML and matrix.

What do you think? Positive or negative?
Thank you.

[1] ruby removed .travis.yml: https://github.com/ruby/ruby/commit/6b978d542704a5614af5e9375c4b31b8d2618652
[2] simde removed .travis.yml: https://github.com/simd-everywhere/simde/commit/17a27e7f2c3114225899f2ace14010cbbb2139b5
[3] GitHub Actions and ppc64le: https://github.community/t/self-hosted-runner-on-ppc64el-architecture/155337
[4] QEMU: https://gitlab.com/qemu-project/qemu/-/blob/master/.cirrus.yml
[5] Podman: https://github.com/containers/podman/blob/master/.cirrus.yml
[6] The issue ticket of Persistent Workers: https://github.com/cirruslabs/cirrus-ci-docs/issues/263#issuecomment-746900845
[7] Persistent Workers blog: https://medium.com/cirruslabs/announcing-public-beta-of-cirrus-ci-persistent-workers-7327a38004be
[8] Persistent Workers guide: https://cirrus-ci.org/guide/persistent-workers/
[9] RubyCI: https://rubyci.org/
[10] Cirrus CI matrix feature: https://cirrus-ci.org/guide/writing-tasks/#matrix-modification




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread