Skip to content

[py][build] Re-add Windows to CI workflows #3870

[py][build] Re-add Windows to CI workflows

[py][build] Re-add Windows to CI workflows #3870

Workflow file for this run

name: CI - Python

Check failure on line 1 in .github/workflows/ci-python.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci-python.yml

Invalid workflow file

(Line: 74, Col: 12): Unrecognized named-value: 'runner'. Located at position 1 within expression: runner.os, (Line: 121, Col: 12): Unrecognized named-value: 'runner'. Located at position 1 within expression: runner.os
on:
workflow_call:
workflow_dispatch:
jobs:
build:
name: Build
uses: ./.github/workflows/bazel.yml
with:
name: Build
cache-key: py-build
run: |
bazel build //py:selenium-wheel //py:selenium-sdist
docs:
name: Documentation
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout source tree
uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v6
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox==4.30.2
- name: Generate docs
run: |
tox -c py/tox.ini
env:
TOXENV: docs
mypy:
name: Mypy
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout source tree
uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v6
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox==4.30.2
- name: Run type checking
run: |
tox -c py/tox.ini || true
env:
TOXENV: mypy
unit-tests:
name: Unit Tests
needs: build
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu
- os: macos
- os: windows
with:
name: Unit Tests (${{ matrix.os }})
os: ${{ matrix.os }}
cache-key: python-unit-test-${{ matrix.os }}
run: |
if [[ "${{ runner.os }}" == "Windows" ]]; then
fsutil 8dot3name set 0
fi
bazel test //py:unit
remote-tests:
name: Remote Tests
needs: build
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
matrix:
include:
- browser: firefox
with:
name: Integration Tests (remote, ${{ matrix.browser }})
browser: ${{ matrix.browser }}
cache-key: py-remote-${{ matrix.browser }}
run: |
bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-remote
browser-tests:
name: Browser Tests
needs: build
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
matrix:
include:
- browser: chrome
os: ubuntu
- browser: edge
os: ubuntu
- browser: firefox
os: ubuntu
- browser: chrome
os: windows
- browser: edge
os: windows
- browser: firefox
os: windows
with:
name: Integration Tests (${{ matrix.browser }}, ${{ matrix.os }})
browser: ${{ matrix.browser }}
os: ${{ matrix.os }}
cache-key: py-browser-${{ matrix.browser }}
run: |
if [[ "${{ runner.os }}" == "Windows" ]]; then
fsutil 8dot3name set 0
fi
bazel test --local_test_jobs 1 --flaky_test_attempts 3 --pin_browsers=true //py:common-${{ matrix.browser }}-bidi //py:test-${{ matrix.browser }}
safari-tests:
name: Browser Tests
needs: build
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
matrix:
include:
- browser: safari
os: macos
with:
name: Integration Tests (${{ matrix.browser }}, ${{ matrix.os }})
browser: ${{ matrix.browser }}
os: ${{ matrix.os }}
cache-key: py-browser-${{ matrix.browser }}
run: |
bazel test --local_test_jobs 1 --flaky_test_attempts 3 --pin_browsers=true //py:common-${{ matrix.browser }} //py:test-${{ matrix.browser }}