[163] Integrate with rb-sys
#78
Workflow file for this run
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: 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 | |