Skip to content

fix: add accessible names to quiet hours controls (#21) #42

fix: add accessible names to quiet hours controls (#21)

fix: add accessible names to quiet hours controls (#21) #42

Workflow file for this run

name: CI
on:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
defaults:
run:
shell: bash
env:
FORCE_COLOR: "1"
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
- name: Install system dependencies (wxPython)
run: |
sudo apt-get update
sudo apt-get install -y \
gcc \
pkg-config \
python3-dev \
libgtk-3-dev \
libnotify-dev \
libsdl2-dev \
libwebkit2gtk-4.1-dev \
freeglut3-dev
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# Install wxPython from extras repo for faster/reliable builds
pip install -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-24.04 wxPython
pip install -e ".[dev]"
- name: Verify wxPython installation
run: |
python -c "import wx; print(f'wxPython {wx.version()} installed successfully')"
- name: Ruff check
run: ruff check src/ tests/
tests:
name: Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
needs: lint
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12"]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install system dependencies (wxPython)
run: |
sudo apt-get update
sudo apt-get install -y \
gcc \
pkg-config \
python3-dev \
libgtk-3-dev \
libnotify-dev \
libsdl2-dev \
libwebkit2gtk-4.1-dev \
freeglut3-dev
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# Install wxPython from extras repo for faster/reliable builds
pip install -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-24.04 wxPython
pip install -e ".[dev]"
- name: Verify wxPython installation
run: |
python -c "import wx; print(f'wxPython {wx.version()} installed successfully')"
- name: Run tests
run: |
PYTHONPATH=src pytest tests/ -v --tb=short
- name: Run tests with coverage
run: |
PYTHONPATH=src pytest tests/ --cov=accessiclock --cov-report=xml
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
files: coverage.xml
fail_ci_if_error: false
test-windows:
name: Tests (Windows)
runs-on: windows-latest
needs: lint
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Verify wxPython installation
run: |
python -c "import wx; print(f'wxPython {wx.version()} installed successfully')"
- name: Run tests
run: |
$env:PYTHONPATH = "src"
pytest tests/ -v --tb=short
shell: pwsh