Skip to content

Fix io_gate.encoding raises IOError in ruby <= 3.0 (#785) #2110

Fix io_gate.encoding raises IOError in ruby <= 3.0 (#785)

Fix io_gate.encoding raises IOError in ruby <= 3.0 (#785) #2110

Workflow file for this run

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