ruby-trunk-changes 2019-08-12

今日は Ubuntu および Windows 環境でのテストも GitHub Actions を利用するようにする変更などがありました。

[11a09d78c1] Hiroshi SHIBATA 2019-08-11 10:12:38 UTC

.github/workflows/ubuntu.yml を追加して GitHub Actions で Ubuntu でのテスト実行も行うようにしています。

[cfb192a7b9] Hiroshi SHIBATA 2019-08-11 10:33:03 UTC

.github/workflows/macos.yml および .github/workflows/ubuntu.yml に make test-bundled-gems の実行も追加して bundled gems のテストを GitHub Actions で行うようにしています。

[fc97aa9313] Hiroshi SHIBATA 2019-08-11 22:07:54 UTC

.github/workflows/ubuntu.yml で $HOME ディレクトリおよび /usr/share 配下の owner 以外の書きこみ権限を落として World writable 警告の除去をするようにしています。

[e96321d006] Hiroshi SHIBATA 2019-08-11 22:25:11 UTC

.github/workflows/ubuntu.yml から make check の実行を削除しています。test-all および test-spec は他の CI ツールでカバーしてるからなくてもいいってことかな。

[8a8f680f01] Hiroshi SHIBATA 2019-08-11 23:23:27 UTC

bb2f24251f011d64d369d78f344e298cc9486473 で rubyspec で一部のテストを skip させるために環境変数 CI というのを使うようにしていましたが GITHUB_ACTION という環境変数が使えるのでそれをみるようにしています。また rubyspec の context のタグが non_windows という名前であいまいだったので no_color_tty として色付けができない場合の skip だとわかるようにしています。

[ed9d59afc8] Hiroshi SHIBATA 2019-08-12 00:01:00 UTC

rubyspec の Process.setproctitle のテストを GitHub Actions でさらに Linux の時だけ skip させるためにタグを追加しています。

[bf1f872991] Hiroshi SHIBATA 2019-08-12 03:08:42 UTC

azure-pipelines.yml から GitHub Actions で実行するようにした Ubuntu でのテストを削除しています。 https://github.com/ruby/ruby/pull/2340

[63d3c4fecd] git 2019-08-12 03:59:08 UTC

version.h の日付更新

[b1ad628cdf] Takashi Kokubun 2019-08-12 04:45:55 UTC

.travis.yml の make test-all の実行を travis_wait コマンド経由で実行するようにしています。 -v を消したので復活させてているみたいです。

[2b3d84d584] Nobuyoshi Nakada 2019-08-11 16:04:21 UTC

51d9d0f8887820ce52234c80d78388b002e6e628 で defs/gmake.mk の fetch-gibhub コマンドで既に Pull Requests のブランチが存在するかチェックするのに git log を使っていましたが git rev-parse を利用するように変更しています。

[4f10a61eaa] Takashi Kokubun 2019-08-12 05:30:42 UTC

GitHub Actions でもやはり公式のアクションでのリポジトリの clone は失敗することがあるので、tool/travis_retry.sh を tool/ci_retry.sh に改名して独自のコマンドとしてリトライ付きで git clone するようにしています。

[b1ef14176b] Takashi Kokubun 2019-08-12 05:35:49 UTC

4f10a61eaaf5bfe7e4c53edc79c5e27a7bd1ae33 でリトライつきで git clone しようとしましたが、git clone 前にはまだ tool/ もないわけなので、リトライはあきらめて git clone するようにしています。また tool/ci_retry.sh のファイル名も tool/travis_retry.sh に戻しています。

[0d0ff8277f] Nobuyoshi Nakada 2019-08-12 06:13:09 UTC

include/ruby/intern.h から rb_trap_exec() の prototype 宣言を削除しています。公開されてるヘッダですがずいぶん前から存在しなくなってた関数なのでほぼ使われてないのではないかと。

[765cc17c08] Sho Ito 2019-08-11 15:11:34 UTC

irb の man page を更新してオプションの説明などを追加しています。

[d5250808e1] Takashi Kokubun 2019-08-12 07:36:56 UTC

.github/workflows/macos.yml で homebrew でインストールする openssl のバージョンを 1.1 に固定するようにしています。

[5ee11a95ff] Takashi Kokubun 2019-08-12 08:44:02 UTC

.github/workflows/macos.yml で brew update に timeout とリトライつきで実行するようにしています。Travis-CI でもよく失敗しているので予防的に? 対処しているようです。

[927a43a503] Takashi Kokubun 2019-08-12 08:46:11 UTC

.github/workflows/macos.yml では (Travis-CI では必要だった) ccache のインストールが不要だったみたいなので HomeBrew でのインストールを削っています。

[5edf921e9b] Takashi Kokubun 2019-08-12 08:55:57 UTC

5ee11a95ffbf194a73d1bea300a35f5d6250d203 の brew update の timeout とリトライは timeout コマンドが GitHub Actions の macOS 環境に存在しなかったようなので revert しています。

[066a3498c6] Nobuyoshi Nakada 2019-08-12 10:01:57 UTC

tool/lib/vcs.rb のリリース時に ChangeLog を生成するためにコミットログを出力するときに git log に --notes=commits を指定して git notes も出力するようにしています。 9fe7e042f50ba7bcd7b64e48b4e6077eeead2861 で pull requests を merge した時に git notes でその参照を残すようにしたのでそれも取り込めるようにしているようです。

[f9149c5596] Takashi Kokubun 2019-08-12 10:13:30 UTC

NEWS ファイルのリポジトリsvn から git への移行についての記述のちょっとした変更。

[1bec27f05b] Takashi Kokubun 2019-08-12 10:52:37 UTC

.travis.yml の sudo apt-get update に exec をつけて子プロセスを生成しないようにしています。 travis_retry に終了ステータスを正しく認識させるためとのこと。

[bbc5e97b95] Hiroshi SHIBATA 2019-08-12 09:06:06 UTC

.github/workflows/windows-2016.yml を追加して Windows 環境でのビルドも GitHub Actions へ移行しています。 GitHub Actions 最強か。

[981f0be6ff] Hiroshi SHIBATA 2019-08-12 09:17:57 UTC

bbc5e97b959ba526036f0f6c95682c1721a87130 で追加した .github/workflows/windows-2016.yml は configure.bat までしかしていなかったので nmake でビルドまでするようにしています。

[040bf4c0a6] Hiroshi SHIBATA 2019-08-12 09:33:22 UTC

さらに .github/workflows/windows-2019.yml という設定も追加して Windows 2019 という環境(たぶん Windows 自体というよりコンパイラのバージョンの違い?)でもビルドするようにしています。

[0fd0f74508] Hiroshi SHIBATA 2019-08-12 09:56:01 UTC

.github/workflows/windows-2016.yml と .github/workflows/windows-2019.yml を .github/workflows/windows.yml にマージして 1ファイルで両方の環境に対応するようにしています。

[8d50bf40d9] Hiroshi SHIBATA 2019-08-12 10:08:51 UTC

.github/workflows/windows.yml にさらに nmake test までするステップを追加しています。

[ab3ab07b28] Hiroshi SHIBATA 2019-08-12 10:12:29 UTC

azure-pipelines.yml を削除して Windows 環境のテストを GitHub Actions へ移行しています。

[188381053c] Hiroshi SHIBATA 2019-08-12 10:40:46 UTC

.github/workflows/windows.yml の configure 時に --disable-install-doc オプションを追加しています。速度のためかな。 https://github.com/ruby/ruby/pull/2346

[a5f9306065] Takashi Kokubun 2019-08-12 11:20:37 UTC

.travis.yml で tool/travis_retry.sh つきのコマンドで bash に渡したコマンドラインで sudo を使っていたものは外側の bash 自体に sudo をつけるように修正しています。

[e6a0a954c9] Takashi Kokubun 2019-08-12 11:40:13 UTC

MJIT のメソッドの inline 化についてのテストを1つ追加しています。

[d96feee37c] Nobuyoshi Nakada 2016-09-30 11:38:23 UTC

拡張ライブラリ date では timezone のリストを lookup する関数を生成するために gperf を使ってましたが、そのオプションに --ignore-case を追加して大文字小文字を無視するようにしています。あとはよく変更を調べてませんが date_zone_to_diff() で文字列のコピーを抑制するようにしているそうです。

[3fc10eff1e] Nobuyoshi Nakada 2016-09-30 11:49:58 UTC

さらに拡張ライブラリ date で使う gperf の -E オプションを削っています。定数の定義に enum を使うオプションみたいです。と、いうのはメインの変更ではなくて ext/date/date_parse.c で MAX_WORD_LENGTH を超えたバッファを確保しないように修正? しています。