On s390x, a long is 8 bytes. st_data_t is an unsigned long but
pm_constant_id_t is a 4 byte integer. We need to cast it to st_data_t
when passing it to ST functions.
As Travis CI IBM z pipeine is operational again, I will add s390x again to check
the case. Though Travis s390x infra team is still investigating the root cause.
https://www.traviscistatus.com/
Please revert this commit or comment on the
<https://bugs.ruby-lang.org/issues/20013>, when you see the s390x builds are not
starting again.
Sorry for inconvenience.
Checking the past 10 builds in Travis CI arm64, it looks stable. So, disable
`allow_failures`.
Also sorted the order of the jobs for the priority. The arm64 is the first. And
I would like to run arm32 using the arm64 pipeline a bit later after the
arm64 using the same arm64 pipeline. So, the arm32 is the last.
In the past, I saw that the 2nd arm64 pipeline was unstable. Now I want to try
it to check if it is stable enough to run again.
As far as I know, right now the only native arm64 cases are MacOS Arm
`macos-arm-oss` on GitHub Actions. And I want to add Linux arm64 case on
pull-request in CI.
Use GCC version 11.4.0 (gcc-11 package) instead of the default GCC 11.3.0 to
align with the GCC used in the RubyCI s390x server below.
```
$ /usr/bin/gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ ls -l /usr/bin/gcc
lrwxrwxrwx 1 root root 6 Aug 5 2021 /usr/bin/gcc -> gcc-11*
$ dpkg -S /usr/bin/gcc-11
gcc-11: /usr/bin/gcc-11
```
Ubuntu Jammy gcc-11: https://packages.ubuntu.com/jammy-updates/gcc-11
Now I expect that Travis ppc64le always passes without any random failures by
the commit 1f1b9b0942 that is
a workaround to pass the `test/rdoc/test_rdoc_generator_json_index.rb` in
Travis ppc64le case.
We want to align the used build flags with RubyCI ppc64le Ubuntu jammy server
as much as possible to avoid Travis specific issues.
Still keep the -O1 for only arm32 due to the following issue.
https://bugs.ruby-lang.org/issues/19981
Seeing the recent successes on RubyCI ppc64le Ubuntu jammy servers, it's time
to upgrade Travis ppc64le to jammy.
http://rubyci.s3.amazonaws.com/ppc64le/ruby-master/recent.html
Upgrade the gcc version to the latest version 11.4.0 to align the gcc
version used in the RubyCI ppc64le server's gcc version.
I want to disable allow_failures if possible to avoid unintentional new
failures. It seems that the arm32 case is stable.
Feel free to enable allow_failures again when you see the case is unstable.
* Remove CI functions for make test-all.
I want to simplify the `.travis.yml` for us to maintain it easily. When we
need to skip a test, we can fix the test file directly.
I removed the `tool/ci_functions.sh` too. I confirmed the file is not used in
any other files.
* .travis.yml: Remove a notification for IRC channel.
GitHub Actions don't use this notification. The setting is outdated.
* Fix to skip the commit including the document keyword.
There were 2 `if` syntax lines in the file.
* Remove ccache.
Upgrade the used Ubuntu version from 20.04 (Focal) to 22.04 (Jammy), alignin
with RubyCI "s390x (Ubuntu)" server.
https://rubyci.org/
Note Travis CI supports Ubuntu 22.04 (Jammy).
https://docs.travis-ci.com/user/reference/jammy/
Set `DFLTCC=0` environment variable as a workaround to avoid the test failures
related to zlib in the `make test-all` and `make test-spec`. The failures can
happen with the zlib library applying the patch madler/zlib#410 to enable the
deflate algorithm producing a different compressed byte stream.
* Revert "Extract `do_mutex_lock_check_interrupts` to try and fix `ppc64le`. (#8393)"
This reverts commit 5184b40dd4.
* .travis.yml: Try default gcc 9.4.0 instead of gcc-10 in ppc64le and s390x.
Use gcc 9.4.0 instead of gcc-10 to avoid the current failures by a possible GCC
10 compiler bug in the Travis ppc64le and s390x cases. And it also aligns with
RubyCI Ubuntu ppc64le and s390x where the default gcc is used.
---------
Co-authored-by: Jun Aruga <jaruga@ruby-lang.org>
Align the Travis enabling timing with GitHub Actions.
For the syntax, see <https://docs.travis-ci.com/user/conditions-v1>.
We use `repo` syntax rather than `fork = true/false` syntax to show a general usage in any repositories on GitHub.
The non-forked repo is not always a primary repo in any GitHub repositories.
[Bug #17936]
* Use only the free pipelines arm64/ppc64le/s390x without credits on Travis.
See <https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution>.
* Add ppc64le case.
* Update the gcc to gcc-11.
* Remove unused logic.
* Add the `tool/travis_wait.sh` to avoid a command timeout.
* Run the tests skipping some failing tests.
* Set `TEST_ALL_SKIPPED_TESTS` env to skip the tests.
* Run the tests separately returning ok status.
The tests are executed if `TEST_ALL_SKIPPED_TESTS` env is set or
`TEST_ALL_SEPARATED_TESTS` env is set.
* Add `tool/ci_functions.sh` to manage the functions used in CI.
* Add arm64 to allow_failures due to the following issue.
An arm64 job sometimes does not start right now.
https://travis-ci.community/t/11629
Reason:
* Recent build is failed.
https://travis-ci.org/github/ruby/ruby/jobs/762561190
* Current configuration uses Ubuntu 16.04 (xenial), whose EOL is Apr 2021.
If someone want to recover Travis CI builds, please fix above two issues.