1 name: CI - Ruby 2 3 on: 4 workflow_call: 5 workflow_dispatch: 6 7 jobs: 8 build: 9 name: Build 10 uses: ./.github/workflows/bazel.yml 11 with: 12 name: Build 13 cache-key: rb-build 14 run: bazel build //rb:selenium-devtools //rb:selenium-webdriver 15 16 docs: 17 name: Documentation 18 needs: build 19 uses: ./.github/workflows/bazel.yml 20 with: 21 name: Documentation 22 cache-key: rb-docs 23 run: bazel run //rb:docs 24 25 lint: 26 name: Lint 27 needs: build 28 uses: ./.github/workflows/bazel.yml 29 with: 30 name: Lint 31 cache-key: rb-lint 32 run: bazel run //rb:lint 33 34 unit-tests: 35 name: Unit Tests 36 needs: build 37 uses: ./.github/workflows/bazel.yml 38 strategy: 39 fail-fast: false 40 matrix: 41 include: 42 - ruby-version: 2.7.6 43 os: ubuntu 44 - ruby-version: 2.7.6 45 os: windows 46 - ruby-version: 3.2.0 47 os: ubuntu 48 - ruby-version: jruby-9.4.0.0 49 os: ubuntu 50 - ruby-version: truffleruby-22.3.0 51 os: ubuntu 52 with: 53 name: Unit Tests (${{ matrix.ruby-version }}, ${{ matrix.os }}) 54 cache-key: rb-unit-test-${{ matrix.ruby-version }} 55 os: ${{ matrix.os }} 56 ruby-version: ${{ matrix.ruby-version }} 57 run: bazel test //rb/spec/unit/... 58 59 integration-tests-local: 60 name: Local Tests 61 needs: build 62 uses: ./.github/workflows/bazel.yml 63 strategy: 64 fail-fast: false 65 matrix: 66 browser: 67 - chrome 68 - edge 69 - firefox 70 os: 71 - ubuntu 72 - windows 73 exclude: 74 - browser: edge 75 os: ubuntu 76 with: 77 name: Local Tests (${{ matrix.browser }}, ${{ matrix.os }}) 78 browser: ${{ matrix.browser }} 79 cache-key: rb-${{ matrix.browser }}-test 80 os: ${{ matrix.os }} 81 run: > 82 bazel test 83 --define browser=${{ matrix.browser }} 84 --flaky_test_attempts 3 85 --local_test_jobs 1 86 //rb/spec/integration/... 87 88 integration-tests-remote: 89 name: Remote Tests 90 needs: build 91 uses: ./.github/workflows/bazel.yml 92 strategy: 93 fail-fast: false 94 matrix: 95 browser: 96 - chrome 97 - edge 98 - firefox 99 os: 100 - ubuntu 101 - windows 102 exclude: 103 - browser: edge 104 os: ubuntu 105 with: 106 name: Remote Tests (${{ matrix.browser }}, ${{ matrix.os }}) 107 browser: ${{ matrix.browser }} 108 cache-key: rb-remote-${{ matrix.browser }}-test 109 os: ${{ matrix.os }} 110 run: > 111 bazel test 112 --define browser=${{ matrix.browser }} 113 --define remote=true 114 --flaky_test_attempts 3 115 --local_test_jobs 1 116 //rb/spec/integration/...