Cirrus CI to check non-x86_64 architecture cases by own machines
I have a suggestion.
I see the
.travis.yml was removed , and I also saw another open source project remove their
.travis.yml because they could not get the credits to continue to run Travis . 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 . 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 . It has a unique freeBSD host. However the remarkable feature for the Ruby project is the "persistent workers"  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 . Maybe the used machine does not even have the global static IP. You can see other articles  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  and someone's machine such as ReiOdaira (Rei Odaira)'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 . We are familiar with the YAML and matrix.
What do you think? Positive or negative?
 ruby removed .travis.yml: https://github.com/ruby/ruby/commit/6b978d542704a5614af5e9375c4b31b8d2618652
 simde removed .travis.yml: https://github.com/simd-everywhere/simde/commit/17a27e7f2c3114225899f2ace14010cbbb2139b5
 GitHub Actions and ppc64le: https://github.community/t/self-hosted-runner-on-ppc64el-architecture/155337
 QEMU: https://gitlab.com/qemu-project/qemu/-/blob/master/.cirrus.yml
 Podman: https://github.com/containers/podman/blob/master/.cirrus.yml
 The issue ticket of Persistent Workers: https://github.com/cirruslabs/cirrus-ci-docs/issues/263#issuecomment-746900845
 Persistent Workers blog: https://medium.com/cirruslabs/announcing-public-beta-of-cirrus-ci-persistent-workers-7327a38004be
 Persistent Workers guide: https://cirrus-ci.org/guide/persistent-workers/
 RubyCI: https://rubyci.org/
 Cirrus CI matrix feature: https://cirrus-ci.org/guide/writing-tasks/#matrix-modification