Skip to content

Mitigate long running job for truffleruby in CI by workaround #815

Mitigate long running job for truffleruby in CI by workaround

Mitigate long running job for truffleruby in CI by workaround #815

Workflow file for this run

---
name: Test
on:
push:
branches:
- "*"
pull_request:
branches:
- "*"
jobs:
lint:
name: Rubocop
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.2"
bundler-cache: true
- name: Lint
run: bundle exec rubocop
rubies:
name: Ruby
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "jruby-9.3.6.0"]
runs-on: ubuntu-latest
env:
LOW_TIMEOUT: "0.01"
REDIS_BRANCH: "7.2"
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Print environment variables
run: |
echo "TIMEOUT=${TIMEOUT}"
echo "LOW_TIMEOUT=${LOW_TIMEOUT}"
echo "DRIVER=${DRIVER}"
echo "REDIS_BRANCH=${REDIS_BRANCH}"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Cache local temporary directory
uses: actions/cache@v4
with:
path: tmp
key: "local-tmp-redis-7.0-on-ubuntu-latest"
- name: Booting up Redis
run: make start
- name: Test
run: bundle exec rake test:redis test:distributed
- name: Shutting down Redis
run: make stop
truffle:
name: TruffleRuby
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
suite: ["redis", "distributed"]
runs-on: ubuntu-latest
env:
LOW_TIMEOUT: "0.01"
REDIS_BRANCH: "7.2"
TRUFFLERUBYOPT: "--engine.Mode=latency"
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Print environment variables
run: |
echo "TIMEOUT=${TIMEOUT}"
echo "LOW_TIMEOUT=${LOW_TIMEOUT}"
echo "DRIVER=${DRIVER}"
echo "REDIS_BRANCH=${REDIS_BRANCH}"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: truffleruby
bundler-cache: true
- name: Cache local temporary directory
uses: actions/cache@v4
with:
path: tmp
key: "local-tmp-redis-7.0-on-ubuntu-latest"
- name: Booting up Redis
run: make start
- name: Test
run: timeout 90 bundle exec rake test:${{ matrix.suite }}
- name: Shutting down Redis
run: make stop
drivers:
name: Driver
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
driver: ["hiredis"]
runs-on: ubuntu-latest
env:
LOW_TIMEOUT: "0.01"
DRIVER: ${{ matrix.driver }}
REDIS_BRANCH: "7.2"
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Print environment variables
run: |
echo "TIMEOUT=${TIMEOUT}"
echo "LOW_TIMEOUT=${LOW_TIMEOUT}"
echo "DRIVER=${DRIVER}"
echo "REDIS_BRANCH=${REDIS_BRANCH}"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.6"
bundler-cache: true
- name: Cache local temporary directory
uses: actions/cache@v4
with:
path: tmp
key: "local-tmp-redis-7.0-on-ubuntu-latest"
- name: Booting up Redis
run: make start
- name: Test
run: bundle exec rake test:redis test:distributed
- name: Shutting down Redis
run: make stop
redises:
name: Redis
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
redis: ["7.0", "6.2", "6.0", "5.0"]
runs-on: ubuntu-latest
env:
LOW_TIMEOUT: "0.14"
REDIS_BRANCH: ${{ matrix.redis }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Print environment variables
run: |
echo "TIMEOUT=${TIMEOUT}"
echo "LOW_TIMEOUT=${LOW_TIMEOUT}"
echo "DRIVER=${DRIVER}"
echo "REDIS_BRANCH=${REDIS_BRANCH}"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.6"
bundler-cache: true
- name: Cache local temporary directory
uses: actions/cache@v4
with:
path: tmp
key: "local-tmp-redis-${{ matrix.redis }}-on-ubuntu-latest"
- name: Booting up Redis
run: make start
- name: Test
run: bundle exec rake test:redis test:distributed
- name: Shutting down Redis
run: make stop
sentinel:
name: Sentinel
timeout-minutes: 15
strategy:
fail-fast: false
runs-on: ubuntu-latest
env:
LOW_TIMEOUT: "0.14"
REDIS_BRANCH: "7.0"
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Print environment variables
run: |
echo "TIMEOUT=${TIMEOUT}"
echo "LOW_TIMEOUT=${LOW_TIMEOUT}"
echo "DRIVER=${DRIVER}"
echo "REDIS_BRANCH=${REDIS_BRANCH}"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.6"
bundler-cache: true
- name: Cache local temporary directory
uses: actions/cache@v4
with:
path: tmp
key: "local-tmp-redis-7.0-on-ubuntu-latest"
- name: Booting up Redis
run: make start_sentinel wait_for_sentinel
- name: Test
run: bundle exec rake test:sentinel
- name: Shutting down Redis
run: make stop_all
cluster:
name: Cluster
timeout-minutes: 15
strategy:
fail-fast: false
runs-on: ubuntu-latest
env:
TIMEOUT: "15"
LOW_TIMEOUT: "0.14"
REDIS_BRANCH: "7.2"
BUNDLE_GEMFILE: cluster/Gemfile
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Print environment variables
run: |
echo "TIMEOUT=${TIMEOUT}"
echo "LOW_TIMEOUT=${LOW_TIMEOUT}"
echo "DRIVER=${DRIVER}"
echo "REDIS_BRANCH=${REDIS_BRANCH}"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.7"
bundler-cache: true
- name: Cache local temporary directory
uses: actions/cache@v4
with:
path: tmp
key: "local-tmp-redis-7.0-on-ubuntu-latest"
- name: Booting up Redis
run: make start start_cluster create_cluster
- name: Test
run: bundle exec rake test:cluster
- name: Shutting down Redis
run: make stop_all