Skip to content

CI Build 2 (macOS) #11058

CI Build 2 (macOS)

CI Build 2 (macOS) #11058

name: CI Build 2 (macOS)
on:
schedule:
- cron: "48 * * * *"
push:
branches: [ master ]
pull_request:
branches:
workflow_dispatch:
branches:
jobs:
build:
env:
PY_COLORS: "1"
strategy:
fail-fast: false
max-parallel: 5
matrix:
os: [macos-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade pip
pip install --upgrade wheel
pip install -r requirements.txt
- name: Install SeleniumBase
run: |
pip install .
- name: Lint with flake8
run: |
pip install flake8
# Stop the build if there are flake8 issues
flake8 . --count --show-source --statistics --exclude=temp
- name: Check the console scripts interface (methods)
run: |
seleniumbase methods
sbase methods
- name: Check the console scripts interface
run: |
seleniumbase
sbase
- name: Install chromedriver and edgedriver
run: |
seleniumbase install chromedriver
seleniumbase install edgedriver
- name: Make sure pytest is working
run: |
echo "def test_1(): pass" > nothing.py
pytest nothing.py
- name: Get CPU count
run: |
echo "import os; print(os.cpu_count())" > get_cpu_count.py
python get_cpu_count.py
- name: Run pytest boilerplate_test.py --chrome --headless --reruns=2 --reruns-delay=10
run: |
pytest examples/boilerplates/boilerplate_test.py --chrome --headless --reruns=2 --reruns-delay=10 -v -s --junit-xml=junit/test-results.xml
- name: Run pytest examples/test_calculator.py --headless --rs -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_calculator.py --headless --rs -v -s --junit-xml=junit/test-results.xml --list-fail-page
- name: Run pytest examples/test_canvas.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_canvas.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml --list-fail-page
- name: Run pytest examples/test_tinymce.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_tinymce.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml --list-fail-page
- name: Run pytest examples/test_simple_login.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_simple_login.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml --list-fail-page
- name: Run pytest examples/test_drag_and_drop.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_drag_and_drop.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml --list-fail-page
- name: Run pytest examples/test_demo_site.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_demo_site.py --reruns=2 --headless -v -s --junit-xml=junit/test-results.xml --list-fail-page
- name: Run pytest -m ready --reruns=1 --browser=chrome --rs --headless -v -s --dashboard
run: |
pytest -m ready --reruns=1 --browser=chrome --rs --headless -v -s --junit-xml=junit/test-results.xml --dashboard --list-fail-page
- name: Verify sbvirtualdisplay install from PyPI
run: |
pip install sbvirtualdisplay -U --no-deps --force-reinstall --no-cache-dir
- name: Verify tabcompleter install from PyPI
run: |
pip install tabcompleter -U --no-deps --force-reinstall --no-cache-dir
- name: Verify pdbp install from PyPI
run: |
pip install pdbp -U --no-deps --force-reinstall --no-cache-dir
- name: Verify seleniumbase install from PyPI
run: |
pip install seleniumbase -U --no-deps --force-reinstall --no-cache-dir