name: Rust on: push: branches: ["main"] pull_request: branches: ["main"] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest env: RUSTFLAGS: -D warnings steps: - uses: actions/checkout@v3 - name: Cache Ruby id: cache-ruby uses: actions/cache@v4 with: path: rubies key: ${{ runner.os }}-ruby - name: Install Ruby if: steps.cache-ruby.outputs.cache-hit != 'true' env: CC: clang run: | url="https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.gz" prefix=`pwd`/rubies/ruby-3.4 mkdir rubies mkdir ruby_src curl -sSL $url | tar -xz cd ruby-3.4.4 mkdir build cd build ../configure --without-shared --prefix=$prefix make install - name: Add Ruby to PATH run: | prefix=`pwd`/rubies/ruby-3.4 echo $prefix/bin >> $GITHUB_PATH - name: Clippy run: cargo clippy --all-features --verbose -- -D warnings - name: Build run: cargo build --all-features --verbose - name: Run tests run: cargo test --all-features --verbose