-
Notifications
You must be signed in to change notification settings - Fork 83
143 lines (137 loc) · 3.93 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
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
min_version: 2.6
reline:
needs: ruby-versions
name: >-
reline ${{ matrix.os }} ${{ matrix.ruby }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
os: [ubuntu-latest, macos-latest, 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: 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:
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:
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
vterm-yamatanooroti:
needs: ruby-versions
name: >-
vterm-yamatanooroti ${{ matrix.os }} ${{ matrix.ruby }}
runs-on: ${{ matrix.os }}
strategy:
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