Skip to content

[163] Integrate with rb-sys #78

[163] Integrate with rb-sys

[163] Integrate with rb-sys #78

Workflow file for this run

name: CI
on:
push:
branches:
- master
paths-ignore:
- '**.md'
pull_request:
branches:
- master
paths-ignore:
- '**.md'
env:
TEST_ALL: false # Set this to true for testing the entire matrix
jobs:
ci:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
ruby: ["2.7", "3.0", "3.1", "3.2", "head"]
rust: ["stable"]
include:
- os: windows-latest
ruby-version: mingw
rustup-toolchain: stable
env:
RUST_BACKTRACE: full
CI_STDERR_LOG: true
BUILD_RUBY_VERSION: ${{ matrix.ruby_version }}
steps:
- uses: actions/checkout@v3
- uses: oxidize-rb/actions/setup-ruby-and-rust@v1
with:
ruby-version: ${{ matrix.ruby }}
rustup-toolchain: ${{ matrix.rust }}
cache-version: v2
bundler-cache: true
cargo-cache: true
cargo-cache-extra-path: |
examples/rutie_ruby_example/tmp/
examples/rutie_ruby_gvl_example/tmp/
examples/rutie_rust_example/tmp/
- name: Run Rust crate tests
run: cargo test
- name: Run Clippy on Rust crate
run: cargo clippy
- name: Run Ruby gem tests
run: |
git submodule update --init
cd gem && rake test
- name: Example tests (rutie_ruby_example)
working-directory: examples/rutie_ruby_example
run: bundle && bundle exec rake test
- name: Example tests (rutie_ruby_gvl_example)
if: matrix.os != 'windows-latest'
working-directory: examples/rutie_ruby_gvl_example
run: bundle && bundle exec rake test
- name: Example tests (rutie_rust_example)
working-directory: examples/rutie_rust_example
run: cargo test