build #4079
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
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.7 | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- name: Run rubocop | |
run: bundle exec rubocop | |
irb: | |
needs: ruby-versions | |
name: rake test ${{ matrix.ruby }} ${{ matrix.with_latest_reline && '(latest reline)' || '' }} | |
strategy: | |
matrix: | |
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }} | |
with_latest_reline: [true, false] | |
exclude: | |
- ruby: truffleruby | |
fail-fast: false | |
runs-on: ubuntu-latest | |
env: | |
WITH_LATEST_RELINE: ${{matrix.with_latest_reline}} | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run tests | |
run: bundle exec rake test | |
- name: Run tests in isolation | |
run: bundle exec rake test_in_isolation | |
debug-test: | |
name: Debug compatibility test | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.3 | |
- name: Install dependencies | |
run: bundle install | |
- name: Install IRB | |
run: | | |
rake install | |
- name: Download ruby/debug | |
run: | | |
git clone https://github.com/ruby/debug | |
- name: Run debug tests | |
working-directory: ./debug | |
run: | | |
bundle install | |
bundle exec rake | |
vterm-yamatanooroti: | |
needs: ruby-versions | |
name: >- | |
vterm-yamatanooroti ${{ matrix.ruby }} ${{ matrix.with_latest_reline && '(latest reline)' || '' }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }} | |
with_latest_reline: [true, false] | |
exclude: | |
- ruby: truffleruby | |
- ruby: truffleruby-head | |
fail-fast: false | |
env: | |
WITH_LATEST_RELINE: ${{matrix.with_latest_reline}} | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- 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: | | |
WITH_VTERM=1 bundle install | |
- name: rake test_yamatanooroti | |
run: WITH_VTERM=1 bundle exec rake test_yamatanooroti |