name: CI - Ruby on: workflow_call: workflow_dispatch: jobs: build: name: Build uses: ./.github/workflows/bazel.yml with: name: Build cache-key: rb-build run: bazel build //rb:selenium-devtools //rb:selenium-webdriver docs: name: Documentation needs: build uses: ./.github/workflows/bazel.yml with: name: Documentation cache-key: rb-docs run: bazel run //rb:docs unit-tests: name: Unit Tests needs: build uses: ./.github/workflows/bazel.yml strategy: fail-fast: false matrix: include: - ruby-version: 3.2.8 os: ubuntu - ruby-version: 3.2.8 os: windows - ruby-version: 3.2.8 os: macos - ruby-version: 3.4.3 os: ubuntu - ruby-version: jruby-10.0.0.0 os: ubuntu - ruby-version: truffleruby-24.2.1 os: ubuntu with: name: Unit Tests (${{ matrix.ruby-version }}, ${{ matrix.os }}) cache-key: rb-unit-test-${{ matrix.ruby-version }}-${{ matrix.os }} os: ${{ matrix.os }} ruby-version: ${{ matrix.ruby-version }} 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 }} cache-key: rb-${{ matrix.browser }}-${{ matrix.os }}-test os: ${{ matrix.os }} run: > bazel test --keep_going --build_tests_only --flaky_test_attempts 3 --local_test_jobs 1 --test_size_filters large --test_tag_filters ${{ matrix.browser }} --pin_browsers //rb/spec/... integration-tests-remote: name: Remote Tests needs: build uses: ./.github/workflows/bazel.yml strategy: fail-fast: false matrix: include: - browser: edge os: windows with: name: Remote Tests (${{ matrix.browser }}, ${{ matrix.os }}) browser: ${{ matrix.browser }} cache-key: rb-remote-${{ matrix.browser }}-${{ matrix.os }}-test os: ${{ matrix.os }} java-version: 17 run: > bazel test --keep_going --build_tests_only --flaky_test_attempts 3 --local_test_jobs 1 --test_size_filters large --test_tag_filters ${{ matrix.browser }}-remote --pin_browsers //rb/spec/...