name: CI - Ruby on: workflow_call: workflow_dispatch: permissions: contents: read jobs: build: name: Build uses: ./.github/workflows/bazel.yml with: name: Build run: bazel build //rb:selenium-devtools //rb:selenium-webdriver docs: name: Documentation needs: build uses: ./.github/workflows/bazel.yml with: name: Documentation run: bazel run //rb:docs steep-check: name: Type Check (Steep) needs: build uses: ./.github/workflows/bazel.yml with: name: Type Check (Steep) run: bazel run //rb:steep unit-tests: name: Unit Tests needs: build uses: ./.github/workflows/bazel.yml strategy: fail-fast: false matrix: include: - ruby-version: 3.2.9 os: ubuntu - ruby-version: 3.2.9 os: windows - ruby-version: 3.2.9 os: macos - ruby-version: 3.4.3 os: ubuntu - ruby-version: 4.0.0 os: ubuntu - ruby-version: jruby-10.0.2.0 os: ubuntu - ruby-version: truffleruby-33.0.0 os: ubuntu with: name: Unit Tests (${{ matrix.ruby-version }}, ${{ matrix.os }}) os: ${{ matrix.os }} ruby-version: ${{ matrix.ruby-version }} rerun-with-debug: true run: > bazel test --keep_going --build_tests_only --test_size_filters small //rb/spec/... integration-tests-local: name: Local Tests needs: build uses: ./.github/workflows/bazel.yml strategy: fail-fast: false matrix: browser: - chrome - edge - firefox os: - windows - macos exclude: - browser: edge os: macos with: name: Local Tests (${{ matrix.browser }}, ${{ matrix.os }}) browser: ${{ matrix.browser }} os: ${{ matrix.os }} rerun-with-debug: true run: > bazel test --keep_going --build_tests_only --flaky_test_attempts 2 --local_test_jobs 1 --test_size_filters large --test_tag_filters ${{ matrix.browser }} //rb/spec/...