Skip to content
Jun Aruga edited this page Oct 30, 2023 · 25 revisions

GitHub Actions

https://github.com/ruby/ruby/actions

  • Executed for each commit and pull request

Appveyor

CI for Windows

https://ci.appveyor.com/project/ruby/ruby

  • Executed for each commit and pull request

Travis CI

CI for non-x86 CPU architectures

We only manage non-x86_64 free pipelines.

https://www.travis-ci.com/github/ruby/ruby

  • Executed for each commit and pull request

How to react for Travis CI issues

Infra issue

If you see Travis CI infra issues, please consider the following options.

  • Check Travis CI Status page https://www.traviscistatus.com/.
  • Contact Jun Aruga via ruby-lang Slack or e-mail jaruga _AT_ ruby-lang.org.
  • Contact Travis support via e-mail support _AT_ travis-ci.com or https://support.travis-ci.com/. This is the most reliable way to fix the issues. Travis support responses quickly.
  • Add the unstable job name to the matrix - allow_failures. Ideally we want to remove the job name from the allow_failures to avoid unintentional new test failures.
  • Drop the unstable job name in the matrix - include, commenting it out.

Test failures

The Travis arm32/ppc64le/s390x cases are aligned with RubyCI's Ubuntu arm64-neoverse/ppc64le/s390x servers. Try to reproduce on the servers. The make -jN used in Travis may cause Travis specific failures as make -jN is not used in RubyCI.

  • Fix the issue.
  • Add pend for the failing test using test-unit as a workaround to avoid the new failures injected. See this page for Travis environment variables.
    if ENV['TRAVIS'] && ENV['TRAVIS_CPU_ARCH'] == 'ppc64le' # arm64/ppc64le/s390x
      pend('something')
    end
    
  • Add the unstable job name to the matrix - allow_failures.

Cirrus CI

CI for Arm CPU architectures.

Removed due to inconsistent infra issues. We use GitHub Actions yjit-macos.yml for Arm64 cases.

https://cirrus-ci.com/github/ruby/ruby/master

  • Executed for each commit and pull request

Ruby CI

This is a curation site of test results of chkbuild (Ruby's own CI program).

https://rubyci.org/

Most CI servers run on AWS, and are maintained by (mainly) @hsbt and @mame

  • amd64 (x86_64)
    • "ArchLinux+clang" is maintained by @naruse
    • "macOS" series is maintained by @hsbt and @ko1
    • "WSL2" runs on Azure, and is maintained by @mame
    • "SPARC" series is supported by Fujitsu and is maintained by @mame
  • arm64 (aarch64), arm32
    • "Ubuntu arm neoverse" is maintained by @jaruga
    • "Ubuntu armv7l eabihf" is maintained by @naruse
    • "Android" runs on GitHub Actions, and is maintained by @mame
    • "Raspbian" series is maintained by @znz
  • ppc64le
    • "ppc64le" (Ubuntu) is maintained by @jaruga
  • s390x
    • "s390x" (Ubuntu) is maintained by @jaruga
    • "s390x" (RHEL 7.1) is maintained by @ReiOdaira

You can check How To Maintain RubyCI Servers to know how to setup the servers.

ci.rvm.jp

This is yet another CI service to aim to produce the test result as quickly as possible, maintained by @ko1

http://ci.rvm.jp/latest

Clone this wiki locally