Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

CI Build 1 (Ubuntu with MySQL) #9646

CI Build 1 (Ubuntu with MySQL)

CI Build 1 (Ubuntu with MySQL) #9646

name: CI Build 1 (Ubuntu with MySQL)
on:
schedule:
- cron: "22 * * * *"
push:
branches: [ master ]
pull_request:
branches:
workflow_dispatch:
branches:
jobs:
build:
env:
PY_COLORS: "1"
strategy:
fail-fast: false
max-parallel: 6
matrix:
os: [ubuntu-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
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: Configure MySQL DB
if: runner.os == 'Linux'
run: |
sudo /etc/init.d/mysql start
mysql -e 'CREATE DATABASE IF NOT EXISTS test_db;' -uroot -proot
wget https://raw.githubusercontent.com/seleniumbase/SeleniumBase/master/seleniumbase/core/create_db_tables.sql
sudo mysql -h 127.0.0.1 -uroot -proot test_db < create_db_tables.sql
sudo mysql -e 'ALTER USER "root"@"localhost" IDENTIFIED BY "test";' -uroot -proot
sudo service mysql restart
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
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: Install Chrome and Edge
if: runner.os == 'Linux'
run: |
sudo apt install google-chrome-stable
sudo apt install microsoft-edge-stable
- 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 --xvfb --reruns=1
if: runner.os == 'Linux'
run: |
pytest examples/boilerplates/boilerplate_test.py --chrome --xvfb --reruns=1 -v -s --junit-xml=junit/test-results.xml --with-db_reporting
- name: Run pytest boilerplate_test.py --chrome --uc --headless --reruns=2 --reruns-delay=10
run: |
pytest examples/boilerplates/boilerplate_test.py --chrome --uc --headless --reruns=2 --reruns-delay=10 -v -s --junit-xml=junit/test-results.xml --with-db_reporting
- name: Run pytest examples/test_calculator.py --headless --rs -v -s --junit-xml=junit/test-results.xml --reruns=2
run: |
pytest examples/test_calculator.py --headless --rs -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting --reruns=2
- name: Run pytest examples/test_canvas.py --reruns=2 --headless2 -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_canvas.py --reruns=2 --headless2 -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run pytest examples/test_user_agent.py --reruns=2 --headless2 -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_user_agent.py --reruns=2 --headless2 -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run pytest examples/test_ua_with_uc.py --reruns=2 --uc --headless2 -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_ua_with_uc.py --reruns=2 --uc --headless2 -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run pytest examples/test_tinymce.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_tinymce.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run pytest examples/test_simple_login.py --reruns=2 --headless2 -v -s --junit-xml=junit/test-results.xml --bl="chs"
run: |
pytest examples/test_simple_login.py --reruns=2 --headless2 -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting --bl="chs"
- name: Run pytest examples/test_swag_suite.py --gui --xvfb --rs -v -s --reruns=2 --junit-xml=junit/test-results.xml
run: |
pytest examples/test_swag_suite.py --gui --xvfb --rs -v -s --reruns=2 --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run python examples/raw_sb.py --headless2 --uc
run: |
python examples/raw_sb.py --headless2 --uc
- name: Run pytest examples/test_mfa_login.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_mfa_login.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run pytest examples/test_drag_and_drop.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_drag_and_drop.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run pytest examples/test_demo_site.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml
run: |
pytest examples/test_demo_site.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml --list-fail-page
- name: Run pytest examples/test_docs_site.py --reruns=2 --headless2 --uc --reruns=2 -v -s --junit-xml=junit/test-results.xml
if: runner.os == 'Linux'
run: |
pytest examples/test_docs_site.py --reruns=2 --headless2 --uc -v -s --junit-xml=junit/test-results.xml --list-fail-page --with-db_reporting
- name: Run pytest -m ready --reruns=2 --browser=chrome --rs --headless -v -s --dashboard
run: |
pytest -m ready --reruns=2 --browser=chrome --rs --headless -v -s --junit-xml=junit/test-results.xml --dashboard --list-fail-page --with-db_reporting
- name: Query MySQL Results
if: runner.os == 'Linux'
run: |
mysql -e 'select test_address,browser,state,start_time,runtime from test_db.test_run_data;' -uroot -ptest
- 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 pynose install from PyPI
run: |
pip install pynose -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
Morty Proxy This is a proxified and sanitized view of the page, visit original site.