Skip to content

Stable API facade, failure bundles, tag-based releases, and full docs refresh #1

Stable API facade, failure bundles, tag-based releases, and full docs refresh

Stable API facade, failure bundles, tag-based releases, and full docs refresh #1

name: Platform smoke
on:
push:
branches: ["main", "dev"]
pull_request:
branches: ["main", "dev"]
permissions:
contents: read
jobs:
stable-api:
strategy:
fail-fast: false
matrix:
os: [windows-2022, ubuntu-22.04, macos-14]
python-version: ["3.10", "3.14"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- run: python -m pip install -e .
- name: Import stable API and generate platform-neutral code
run: >-
python -c "import je_auto_control.api as ac;
compile(ac.generate_code([['AC_screen_size']], style='actions'),
'<generated>', 'exec')"
- name: Create headless diagnostic bundle
run: >-
python -c "from je_auto_control.api import
FailureBundleOptions, create_failure_bundle;
create_failure_bundle('platform-smoke.zip',
options=FailureBundleOptions(screenshot=False))"
- uses: actions/upload-artifact@v4
if: always()
with:
name: platform-smoke-${{ matrix.os }}-${{ matrix.python-version }}
path: platform-smoke.zip
if-no-files-found: warn