Add concatenation wrapper for legacy diffusion models #575
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: Install CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main, v2.0-refactor] | |
| schedule: | |
| - cron: '0 6 * * *' # 6 AM UTC daily | |
| workflow_dispatch: # Allows manual triggering from GitHub UI | |
| merge_group: | |
| jobs: | |
| test-pip: | |
| name: Test with pip (Python ${{ matrix.python-version }}, OS ${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| # Only run pip tests for scheduled and manual dispatch jobs, Linux only | |
| if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest] | |
| python-version: ["3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install package with pip | |
| run: | | |
| python -m pip install --upgrade pip | |
| # pip 25.1+ supports dependency groups natively via --group | |
| pip install -e . --group dev | |
| - name: Run tests | |
| run: pytest test/ | |
| test-uv: | |
| name: Test with uv (Python ${{ matrix.python-version }}, OS ${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Matrix varies by event type: | |
| # PR/merge_group: ubuntu × 3.12 only (1 job) | |
| # push: ubuntu × all Python versions (3 jobs) | |
| # schedule/manual: ubuntu × all versions + ubuntu-arm/mac/win × 3.13 (6 jobs) | |
| include: >- | |
| ${{ | |
| (github.event_name == 'pull_request' || github.event_name == 'merge_group') | |
| && fromJSON('[ | |
| {"os": "ubuntu-latest", "python-version": "3.12"} | |
| ]') | |
| || github.event_name == 'push' | |
| && fromJSON('[ | |
| {"os": "ubuntu-latest", "python-version": "3.11"}, | |
| {"os": "ubuntu-latest", "python-version": "3.12"}, | |
| {"os": "ubuntu-latest", "python-version": "3.13"} | |
| ]') | |
| || fromJSON('[ | |
| {"os": "ubuntu-latest", "python-version": "3.11"}, | |
| {"os": "ubuntu-latest", "python-version": "3.12"}, | |
| {"os": "ubuntu-latest", "python-version": "3.13"}, | |
| {"os": "ubuntu-24.04-arm", "python-version": "3.13"}, | |
| {"os": "macos-latest", "python-version": "3.13"}, | |
| {"os": "windows-latest", "python-version": "3.13"} | |
| ]') | |
| }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # Set up MSVC compiler on Windows (does nothing on Linux/macOS) | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Install uv | |
| uses: nick-fields/retry@v3 | |
| # uv download can be flaky. Wrapping in a retry. | |
| with: | |
| timeout_minutes: 5 | |
| max_attempts: 3 | |
| shell: ${{ runner.os == 'Windows' && 'pwsh' || 'bash' }} | |
| command: >- | |
| ${{ | |
| runner.os == 'Windows' | |
| && 'irm https://astral.sh/uv/install.ps1 | iex; | |
| echo "$env:USERPROFILE\.local\bin" | Out-File -FilePath $env:GITHUB_PATH -Append' | |
| || 'curl -LsSf https://astral.sh/uv/install.sh | sh && | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH' | |
| }} | |
| - name: Install package with uv | |
| run: uv sync --group dev | |
| - name: Run tests | |
| run: uv run pytest test/ |