-
Notifications
You must be signed in to change notification settings - Fork 87
155 lines (149 loc) · 4.47 KB
/
reline.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
name: CI
on:
push:
pull_request:
schedule:
- cron: "30 14 * * *"
jobs:
ruby-versions:
uses: ruby/actions/.github/workflows/ruby_versions.yml@master
with:
engine: cruby-truffleruby
min_version: 2.6
reline:
needs: ruby-versions
name: >-
reline ${{ matrix.os }} ${{ matrix.ruby }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
os: [ubuntu-latest, macos-latest, windows-latest]
exclude:
- { ruby: truffleruby, os: windows-latest }
- { ruby: truffleruby-head, os: windows-latest }
# https://github.com/ruby/reline/pull/768#issuecomment-2420586587
- { ruby: truffleruby-head, os: ubuntu-latest }
- { ruby: truffleruby-head, os: macos-latest }
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Install dependencies
run: bundle install
- name: rake test
env:
TERM: xterm-256color
run: bundle exec rake test
- name: rake test (frozen string literal)
env:
TERM: xterm-256color
run: bundle exec rake test RUBYOPT="--enable-frozen-string-literal"
readline:
name: >-
readline ${{ matrix.ruby }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- { ruby: head, os: ubuntu-latest }
- { ruby: head, os: macos-latest }
- { ruby: mingw, os: windows-latest }
- { ruby: mswin, os: windows-latest }
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Install dependencies
run: bundle install
- name: Download test readline
run: ruby download-test_readline.rb
- name: rake test
run: bundle exec rake test
- name: rake ci-test
env:
TEST_READLINE_OR_RELINE: Reline
TERM: xterm-256color
run: bundle exec rake ci-test
irb:
needs: ruby-versions
name: >-
irb ${{ matrix.ruby }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
os: [ubuntu-latest]
exclude:
- ruby: 2.6
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Install libvterm
run: |
sudo apt install -y libtool-bin
wget http://www.leonerd.org.uk/code/libvterm/libvterm-0.1.4.tar.gz
tar xvzf libvterm-0.1.4.tar.gz
cd libvterm-0.1.4
sed -i -e 's/^PREFIX=.*$/PREFIX=\/usr/g' Makefile
make
sudo make install
- name: Install dependencies
run: bundle install
- name: Install reline
run: rake install
- name: Download ruby/irb
run: |
git clone https://github.com/ruby/irb
- name: Run irb test
working-directory: ./irb
run: |
bundle install
bundle exec rake test
- name: Run irb yamatanooroti test
working-directory: ./irb
env:
WITH_VTERM: 1
run: |
gem rdoc --all --ri --no-rdoc
bundle install
bundle exec rake test_yamatanooroti
# https://github.com/ruby/reline/pull/768#issuecomment-2420588075
if: ${{ !startsWith(matrix.ruby, 'truffleruby') }}
vterm-yamatanooroti:
needs: ruby-versions
name: >-
vterm-yamatanooroti ${{ matrix.os }} ${{ matrix.ruby }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
os: [ubuntu-latest]
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Install libvterm
run: |
sudo apt-get install -y libvterm-dev
- name: Install dependencies
run: WITH_VTERM=1 bundle install
- name: rake test_yamatanooroti
run: WITH_VTERM=1 bundle exec rake test_yamatanooroti