Add driven-modal HFSS workflows and public tutorial notebooks #103
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |