Skip to content

Commit eb892be

Browse files
Merge branch 'main' into main
2 parents 0f7156f + ab2d203 commit eb892be

File tree

348 files changed

+9374
-5854
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

348 files changed

+9374
-5854
lines changed

.dockerignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
*
22
!invokeai
33
!pyproject.toml
4+
!uv.lock
45
!docker/docker-entrypoint.sh
56
!LICENSE
67

8+
**/dist
79
**/node_modules
810
**/__pycache__
9-
**/*.egg-info
11+
**/*.egg-info

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
b3dccfaeb636599c02effc377cdd8a87d658256c
22
218b6d0546b990fc449c876fb99f44b50c4daa35
3+
182580ff6970caed400be178c5b888514b75d7f2
4+
8e9d5c1187b0d36da80571ce4c8ba9b3a37b6c46
5+
99aac5870e1092b182e6c5f21abcaab6936a4ad1

.github/CODEOWNERS

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
/.github/workflows/ @lstein @blessedcoolant @hipsterusername @ebr @jazzhaiku
33

44
# documentation
5-
/docs/ @lstein @blessedcoolant @hipsterusername @Millu
6-
/mkdocs.yml @lstein @blessedcoolant @hipsterusername @Millu
5+
/docs/ @lstein @blessedcoolant @hipsterusername @psychedelicious
6+
/mkdocs.yml @lstein @blessedcoolant @hipsterusername @psychedelicious
77

88
# nodes
9-
/invokeai/app/ @Kyle0654 @blessedcoolant @psychedelicious @brandonrising @hipsterusername @jazzhaiku
9+
/invokeai/app/ @blessedcoolant @psychedelicious @brandonrising @hipsterusername @jazzhaiku
1010

1111
# installation and configuration
1212
/pyproject.toml @lstein @blessedcoolant @hipsterusername
@@ -22,7 +22,7 @@
2222
/invokeai/backend @blessedcoolant @psychedelicious @lstein @maryhipp @hipsterusername
2323

2424
# generation, model management, postprocessing
25-
/invokeai/backend @damian0815 @lstein @blessedcoolant @gregghelt2 @StAlKeR7779 @brandonrising @ryanjdick @hipsterusername @jazzhaiku
25+
/invokeai/backend @lstein @blessedcoolant @brandonrising @hipsterusername @jazzhaiku
2626

2727
# front ends
2828
/invokeai/frontend/CLI @lstein @hipsterusername

.github/workflows/build-container.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ jobs:
9797
context: .
9898
file: docker/Dockerfile
9999
platforms: ${{ env.PLATFORMS }}
100+
build-args: |
101+
GPU_DRIVER=${{ matrix.gpu-driver }}
100102
push: ${{ github.ref == 'refs/heads/main' || github.ref_type == 'tag' || github.event.inputs.push-to-registry }}
101103
tags: ${{ steps.meta.outputs.tags }}
102104
labels: ${{ steps.meta.outputs.labels }}
Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Builds and uploads the installer and python build artifacts.
1+
# Builds and uploads python build artifacts.
22

3-
name: build installer
3+
name: build wheel
44

55
on:
66
workflow_dispatch:
@@ -17,7 +17,7 @@ jobs:
1717
- name: setup python
1818
uses: actions/setup-python@v5
1919
with:
20-
python-version: '3.10'
20+
python-version: '3.12'
2121
cache: pip
2222
cache-dependency-path: pyproject.toml
2323

@@ -27,19 +27,12 @@ jobs:
2727
- name: setup frontend
2828
uses: ./.github/actions/install-frontend-deps
2929

30-
- name: create installer
31-
id: create_installer
32-
run: ./create_installer.sh
33-
working-directory: installer
30+
- name: build wheel
31+
id: build_wheel
32+
run: ./scripts/build_wheel.sh
3433

3534
- name: upload python distribution artifact
3635
uses: actions/upload-artifact@v4
3736
with:
3837
name: dist
39-
path: ${{ steps.create_installer.outputs.DIST_PATH }}
40-
41-
- name: upload installer artifact
42-
uses: actions/upload-artifact@v4
43-
with:
44-
name: installer
45-
path: ${{ steps.create_installer.outputs.INSTALLER_PATH }}
38+
path: ${{ steps.build_wheel.outputs.DIST_PATH }}

.github/workflows/python-checks.yml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ on:
3434

3535
jobs:
3636
python-checks:
37+
env:
38+
# uv requires a venv by default - but for this, we can simply use the system python
39+
UV_SYSTEM_PYTHON: 1
3740
runs-on: ubuntu-latest
3841
timeout-minutes: 5 # expected run time: <1 min
3942
steps:
@@ -57,25 +60,19 @@ jobs:
5760
- '!invokeai/frontend/web/**'
5861
- 'tests/**'
5962
60-
- name: setup python
63+
- name: setup uv
6164
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}
62-
uses: actions/setup-python@v5
65+
uses: astral-sh/setup-uv@v5
6366
with:
64-
python-version: '3.10'
65-
cache: pip
66-
cache-dependency-path: pyproject.toml
67-
68-
- name: install ruff
69-
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}
70-
run: pip install ruff==0.9.9
71-
shell: bash
67+
version: '0.6.10'
68+
enable-cache: true
7269

7370
- name: ruff check
7471
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}
75-
run: ruff check --output-format=github .
72+
run: uv tool run ruff@0.11.2 check --output-format=github .
7673
shell: bash
7774

7875
- name: ruff format
7976
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}
80-
run: ruff format --check .
77+
run: uv tool run ruff@0.11.2 format --check .
8178
shell: bash

.github/workflows/python-tests.yml

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,15 @@ jobs:
3939
strategy:
4040
matrix:
4141
python-version:
42-
- '3.10'
4342
- '3.11'
43+
- '3.12'
4444
platform:
45-
- linux-cuda-11_7
46-
- linux-rocm-5_2
4745
- linux-cpu
4846
- macos-default
4947
- windows-cpu
5048
include:
51-
- platform: linux-cuda-11_7
52-
os: ubuntu-22.04
53-
github-env: $GITHUB_ENV
54-
- platform: linux-rocm-5_2
55-
os: ubuntu-22.04
56-
extra-index-url: 'https://download.pytorch.org/whl/rocm5.2'
57-
github-env: $GITHUB_ENV
5849
- platform: linux-cpu
59-
os: ubuntu-22.04
50+
os: ubuntu-24.04
6051
extra-index-url: 'https://download.pytorch.org/whl/cpu'
6152
github-env: $GITHUB_ENV
6253
- platform: macos-default
@@ -70,6 +61,8 @@ jobs:
7061
timeout-minutes: 15 # expected run time: 2-6 min, depending on platform
7162
env:
7263
PIP_USE_PEP517: '1'
64+
UV_SYSTEM_PYTHON: 1
65+
7366
steps:
7467
- name: checkout
7568
# https://github.com/nschloe/action-cached-lfs-checkout
@@ -92,20 +85,25 @@ jobs:
9285
- '!invokeai/frontend/web/**'
9386
- 'tests/**'
9487
88+
- name: setup uv
89+
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}
90+
uses: astral-sh/setup-uv@v5
91+
with:
92+
version: '0.6.10'
93+
enable-cache: true
94+
python-version: ${{ matrix.python-version }}
95+
9596
- name: setup python
9697
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}
9798
uses: actions/setup-python@v5
9899
with:
99100
python-version: ${{ matrix.python-version }}
100-
cache: pip
101-
cache-dependency-path: pyproject.toml
102101

103102
- name: install dependencies
104103
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}
105104
env:
106-
PIP_EXTRA_INDEX_URL: ${{ matrix.extra-index-url }}
107-
run: >
108-
pip3 install --editable=".[test]"
105+
UV_INDEX: ${{ matrix.extra-index-url }}
106+
run: uv pip install --editable ".[test]"
109107

110108
- name: run pytest
111109
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }}

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
always_run: true
5050

5151
build:
52-
uses: ./.github/workflows/build-installer.yml
52+
uses: ./.github/workflows/build-wheel.yml
5353

5454
publish-testpypi:
5555
runs-on: ubuntu-latest

.github/workflows/typegen-checks.yml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,25 @@ jobs:
5454
- 'pyproject.toml'
5555
- 'invokeai/**'
5656
57+
- name: setup uv
58+
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }}
59+
uses: astral-sh/setup-uv@v5
60+
with:
61+
version: '0.6.10'
62+
enable-cache: true
63+
python-version: '3.11'
64+
5765
- name: setup python
5866
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }}
5967
uses: actions/setup-python@v5
6068
with:
61-
python-version: '3.10'
62-
cache: pip
63-
cache-dependency-path: pyproject.toml
69+
python-version: '3.11'
6470

65-
- name: install python dependencies
71+
- name: install dependencies
6672
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }}
67-
run: pip3 install --use-pep517 --editable="."
73+
env:
74+
UV_INDEX: ${{ matrix.extra-index-url }}
75+
run: uv pip install --editable .
6876

6977
- name: install frontend dependencies
7078
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }}
@@ -77,7 +85,7 @@ jobs:
7785

7886
- name: generate schema
7987
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }}
80-
run: make frontend-typegen
88+
run: cd invokeai/frontend/web && uv run ../../../scripts/generate_openapi_schema.py | pnpm typegen
8189
shell: bash
8290

8391
- name: compare files

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v22.12.0
1+
v22.14.0

0 commit comments

Comments
 (0)