Skip to content

Add driven-modal HFSS workflows and public tutorial notebooks #103

Add driven-modal HFSS workflows and public tutorial notebooks

Add driven-modal HFSS workflows and public tutorial notebooks #103

Workflow file for this run

name: CI/CD Pipeline for Cross-Platform Tests
on:
push:
branches:
- master
- main
paths:
- 'squadds/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
pull_request:
branches:
- master
- main
workflow_dispatch:
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.10', '3.11', '3.12']
env:
MPLBACKEND: Agg
QISKIT_METAL_HEADLESS: "1"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Install system dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libegl1 libopengl0 libglu1-mesa
- name: Install dependencies
run: uv sync --extra dev --extra mcp
- name: Set up environment file
run: |
echo "HUGGINGFACE_API_KEY=${{ secrets.HUGGINGFACE_API_KEY }}" > .env
shell: bash
- name: Run pytest
run: uv run pytest -q -m "not integration" --tb=short
integration-smoke:
runs-on: ubuntu-latest
env:
MPLBACKEND: Agg
QISKIT_METAL_HEADLESS: "1"
SQUADDS_RUN_LIVE_TESTS: "1"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Set up Python
run: uv python install 3.11
- name: Install system dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libegl1 libopengl0 libglu1-mesa
- name: Install dependencies
run: uv sync --extra dev --extra mcp
- name: Set up environment file
run: |
echo "HUGGINGFACE_API_KEY=${{ secrets.HUGGINGFACE_API_KEY }}" > .env
shell: bash
- name: Run MVP integration smoke tests
run: uv run pytest -s -vv tests/mvp_test.py --tb=short -ra
lint:
runs-on: ubuntu-latest
env:
QISKIT_METAL_HEADLESS: "1"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Set up Python
run: uv python install 3.11
- name: Install dependencies
run: uv sync --extra dev --extra mcp
- name: Run Ruff linter
run: uv run ruff check .
continue-on-error: true
- name: Run Ruff formatter check
run: uv run ruff format --check .
continue-on-error: true