Skip to content

Commit c2e0e7d

Browse files
author
Kadir Selçuk
authored
Merge pull request #74 from ruby/master
[pull] master from ruby:master
2 parents 88eae3c + 35e03a4 commit c2e0e7d

File tree

950 files changed

+57260
-15504
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

950 files changed

+57260
-15504
lines changed

.appveyor.yml

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ skip_commits:
1616
- doc/*
1717
- '**/*.md'
1818
- '**/*.rdoc'
19+
- '**/.document'
20+
- '**/*.[1-8]'
21+
- '**/*.ronn'
1922
environment:
2023
ruby_version: "24-%Platform%"
21-
zlib_version: "1.2.12"
2224
matrix:
25+
# Test only the oldest supported version because AppVeyor is unstable, its concurrency
26+
# is limited, and compatibility issues that happen only in newer versions are rare.
27+
# You may test some other stuff on GitHub Actions instead.
2328
- build: vs
2429
vs: 120
25-
ssl: OpenSSL
26-
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
27-
GEMS_FOR_TEST: ""
28-
- build: vs
29-
vs: 140
3030
ssl: OpenSSL-v111
3131
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
3232
GEMS_FOR_TEST: ""
@@ -48,7 +48,7 @@ for:
4848
- git pull -q
4949
- .\bootstrap-vcpkg.bat
5050
- cd %APPVEYOR_BUILD_FOLDER%
51-
- vcpkg --triplet %Platform%-windows install libffi libyaml readline zlib
51+
- vcpkg --triplet %Platform%-windows install --x-use-aria2 libffi libyaml readline zlib
5252
- CALL SET vcvars=%%^VS%VS%COMNTOOLS^%%..\..\VC\vcvarsall.bat
5353
- SET vcvars
5454
- '"%vcvars%" %Platform:x64=amd64%'
@@ -68,9 +68,6 @@ for:
6868
- mkdir \usr\local\bin
6969
- mkdir \usr\local\include
7070
- mkdir \usr\local\lib
71-
- SET ZLIB_ZIP=.downloaded-cache\zlib%zlib_version:.=%.zip
72-
- if not exist %ZLIB_ZIP% curl -fsSL -o %ZLIB_ZIP% --retry 10 https://zlib.net/zlib%zlib_version:.=%.zip
73-
- 7z x -aos -o%APPVEYOR_BUILD_FOLDER%\ext\zlib %ZLIB_ZIP%
7471
- for %%I in (%OPENSSL_DIR%\*.dll) do mklink /h \usr\local\bin\%%~nxI %%I
7572
- for %%I in (c:\Tools\vcpkg\installed\%Platform%-windows\bin\*.dll) do (
7673
if not %%~nI == readline mklink \usr\local\bin\%%~nxI %%I
@@ -123,7 +120,7 @@ notifications:
123120
{{^isPullRequest}}
124121
{
125122
"ci": "AppVeyor CI",
126-
"env": "Visual Studio 2013 / 2015",
123+
"env": "Visual Studio 2013",
127124
"url": "{{buildUrl}}",
128125
"commit": "{{commitId}}",
129126
"branch": "{{branch}}"

.cirrus.yml

Lines changed: 73 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env:
1010

1111
task:
1212
name: Arm64 Graviton2 / $CC
13-
skip: "changesIncludeOnly('doc/**', '**.{md,rdoc}')"
13+
skip: "changesIncludeOnly('doc/**', '**.{md,rdoc,ronn,[1-8]}', '.document')"
1414
arm_container:
1515
# We use the arm64 images at https://github.com/ruby/ruby-ci-image/pkgs/container/ruby-ci-image .
1616
image: ghcr.io/ruby/ruby-ci-image:$CC
@@ -39,9 +39,8 @@ task:
3939
# the `make` environment variable used in compilers.yml causes some rubygems
4040
# tests to fail.
4141
# https://github.com/rubygems/rubygems/issues/4921
42-
- echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> $CIRRUS_ENV
43-
print_env_script:
44-
- echo "GNUMAKEFLAGS=$GNUMAKEFLAGS"
42+
- echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> "$CIRRUS_ENV"
43+
- cat "$CIRRUS_ENV"
4544
# Arm containers are executed in AWS's EKS, and it's not yet supporting IPv6
4645
# See https://github.com/aws/containers-roadmap/issues/835
4746
disable_ipv6_script: sudo ./tool/disable_ipv6.sh
@@ -62,3 +61,73 @@ task:
6261
make_test-tool_script: make test-tool
6362
make_test-all_script: make test-all
6463
make_test-spec_script: make test-spec
64+
65+
# The following is to test YJIT on ARM64 CPUs available on Cirrus CI
66+
yjit_task:
67+
name: Arm64 Graviton2 / $CC YJIT
68+
auto_cancellation: $CIRRUS_BRANCH != 'master'
69+
skip: "changesIncludeOnly('doc/**', '**.{md,rdoc,ronn,[1-8]}', '.document')"
70+
arm_container:
71+
# We use the arm64 images at https://github.com/ruby/ruby-ci-image/pkgs/container/ruby-ci-image .
72+
image: ghcr.io/ruby/ruby-ci-image:$CC
73+
# Define the used cpu core in each matrix task. We can use total 16 cpu
74+
# cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks]
75+
cpu: 8
76+
# We can request maximum 4 GB per cpu.
77+
# [memory per task] = [memory per cpu: 4 GB] * [cpu]
78+
memory: 32G
79+
env:
80+
CIRRUS_CLONE_DEPTH: 50
81+
optflags: '-O1'
82+
debugflags: '-ggdb3'
83+
RUBY_PREFIX: /tmp/ruby-prefix
84+
RUBY_DEBUG: ci rgengc
85+
RUBY_TESTOPTS: >-
86+
-q
87+
--color=always
88+
--tty=no
89+
matrix:
90+
- CC: clang-12
91+
configure: --enable-yjit=dev
92+
rustup_init: --default-toolchain=1.58.1
93+
- CC: gcc-11
94+
configure: --enable-yjit
95+
id_script: id
96+
set_env_script:
97+
# Set `GNUMAKEFLAGS`, because the flags are GNU make specific. Note using
98+
# the `make` environment variable used in compilers.yml causes some rubygems
99+
# tests to fail.
100+
# https://github.com/rubygems/rubygems/issues/4921
101+
- echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> "$CIRRUS_ENV"
102+
- echo RUST_BACKTRACE=1 >> "$CIRRUS_ENV"
103+
- cat "$CIRRUS_ENV"
104+
# Arm containers are executed in AWS's EKS, and it's not yet supporting IPv6
105+
# See https://github.com/aws/containers-roadmap/issues/835
106+
disable_ipv6_script: sudo ./tool/disable_ipv6.sh
107+
install_rust_script:
108+
- sudo apt-get update -y
109+
- sudo apt-get install -y curl
110+
- "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y $rustup_init"
111+
autogen_script: ./autogen.sh
112+
configure_script: >-
113+
source $HOME/.cargo/env && ./configure -C
114+
--enable-debug-env
115+
--disable-install-doc
116+
--with-ext=-test-/cxxanyargs,+
117+
--prefix="$RUBY_PREFIX"
118+
$configure
119+
make_miniruby_script: source $HOME/.cargo/env && make miniruby
120+
make_bindgen_script: |
121+
if [[ "$CC" = "clang-12" ]]; then
122+
source $HOME/.cargo/env && make yjit-bindgen
123+
else
124+
echo "only running bindgen on clang image"
125+
fi
126+
boot_miniruby_script: ./miniruby --yjit-call-threshold=1 -e0
127+
test_dump_insns_script: ./miniruby --yjit-call-threshold=1 --yjit-dump-insns -e0
128+
output_stats_script: ./miniruby --yjit-call-threshold=1 --yjit-stats -e0
129+
full_build_script: source $HOME/.cargo/env && make
130+
cargo_test_script: source $HOME/.cargo/env && cd yjit && cargo test
131+
make_test_script: source $HOME/.cargo/env && make test RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx"
132+
make_test_all_script: source $HOME/.cargo/env && make test-all RUN_OPTS="--yjit-call-threshold=1" TESTOPTS="$RUBY_TESTOPTS"
133+
make_test_spec_script: source $HOME/.cargo/env && make test-spec RUN_OPTS="--yjit-call-threshold=1"

.gdbinit

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -544,13 +544,13 @@ end
544544

545545
define rp_class
546546
printf "(struct RClass *) %p", (void*)$arg0
547-
if ((struct RClass *)($arg0))->ptr.origin_ != $arg0
548-
printf " -> %p", ((struct RClass *)($arg0))->ptr.origin_
547+
if RCLASS_ORIGIN((struct RClass *)($arg0)) != $arg0
548+
printf " -> %p", RCLASS_ORIGIN((struct RClass *)($arg0))
549549
end
550550
printf "\n"
551551
rb_classname $arg0
552552
print/x *(struct RClass *)($arg0)
553-
print *((struct RClass *)($arg0))->ptr
553+
print *RCLASS_EXT((struct RClass *)($arg0))
554554
end
555555
document rp_class
556556
Print the content of a Class/Module.
@@ -979,8 +979,8 @@ end
979979

980980
define rb_ps_vm
981981
print $ps_vm = (rb_vm_t*)$arg0
982-
set $ps_thread_ln = $ps_vm->living_threads.n.next
983-
set $ps_thread_ln_last = $ps_vm->living_threads.n.prev
982+
set $ps_thread_ln = $ps_vm->ractor.main_ractor.threads.set.n.next
983+
set $ps_thread_ln_last = $ps_vm->ractor.main_ractor.threads.set.n.prev
984984
while 1
985985
set $ps_thread_th = (rb_thread_t *)$ps_thread_ln
986986
set $ps_thread = (VALUE)($ps_thread_th->self)

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@ d7ffd3fea402239b16833cc434404a7af82d44f3
1818
f28287d34c03f472ffe90ea262bdde9affd4b965
1919
0d842fecb4f75ab3b1d4097ebdb8e88f51558041
2020
4ba2c66761d6a293abdfba409241d31063cefd62
21+
22+
# Make benchmark indentation consistent
23+
fc4acf8cae82e5196186d3278d831f2438479d91

.github/CODEOWNERS

Lines changed: 0 additions & 11 deletions
This file was deleted.

.github/auto_request_review.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
files:
2+
'yjit*': [team:yjit]
3+
'yjit/**/*': [team:yjit]
4+
'doc/yjit/*': [team:yjit]
5+
'bootstraptest/test_yjit*': [team:yjit]
6+
'test/ruby/test_yjit*': [team:yjit]
7+
'.github/workflows/yjit*': [team:yjit]
8+
options:
9+
ignore_draft: true

.github/dependabot.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@ updates:
44
directory: '/'
55
schedule:
66
interval: 'weekly'
7+
ignore:
8+
# It doesn't update the version comment for us
9+
- dependency-name: 'necojackarc/auto-request-review'
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Auto Request Review
2+
on:
3+
pull_request_target:
4+
types: [opened, ready_for_review, reopened]
5+
jobs:
6+
auto-request-review:
7+
name: Auto Request Review
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Request review based on files changes and/or groups the author belongs to
11+
uses: necojackarc/auto-request-review@b5e81876454003a4ccb9b89cb205c67d77d7035b # v0.8.0, checking sha
12+
with:
13+
# scope: public_repo
14+
token: ${{ secrets.MATZBOT_GITHUB_TOKEN }}

.github/workflows/baseruby.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,17 @@ on:
66
- 'doc/**'
77
- '**.md'
88
- '**.rdoc'
9+
- '**/.document'
10+
- '**.[1-8]'
11+
- '**.ronn'
912
pull_request:
1013
paths-ignore:
1114
- 'doc/**'
1215
- '**.md'
1316
- '**.rdoc'
17+
- '**/.document'
18+
- '**.[1-8]'
19+
- '**.ronn'
1420

1521
concurrency:
1622
group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }}

.github/workflows/bundled_gems.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ on:
1111
- 'gems/bundled_gems'
1212
schedule:
1313
- cron: '45 6 * * *'
14+
workflow_dispatch:
1415

1516
jobs:
1617
update:

0 commit comments

Comments
 (0)