From c9a1cf8220a1a3949a120d3fa64bb3ea7fd50323 Mon Sep 17 00:00:00 2001 From: Tobias Burgherr Date: Wed, 10 Sep 2025 20:15:20 +0200 Subject: [PATCH 1/7] Hardlink svg icon --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8d55cf1..f192c33 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@

Imgora

- Imgora + Imgora

Chainable Python client for Imagor and Thumbor image processing servers

- Documentation - | PyPI + Documentation + | PyPI

--- From 6d5388082f1f9d15209a53f349e493da86b6710f Mon Sep 17 00:00:00 2001 From: Tobias Burgherr Date: Wed, 10 Sep 2025 20:24:49 +0200 Subject: [PATCH 2/7] Run tests on python 3.11 - 3.13 --- .github/workflows/docu.yml | 2 +- .github/workflows/main.yml | 21 ++++++++++++++++++--- .github/workflows/new-version.yml | 2 +- .gitignore | 1 + 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docu.yml b/.github/workflows/docu.yml index c384783..5267521 100644 --- a/.github/workflows/docu.yml +++ b/.github/workflows/docu.yml @@ -30,4 +30,4 @@ jobs: path: .cache restore-keys: | mkdocs-material- - - run: uv run mkdocs gh-deploy --force + - run: uv run --frozen mkdocs gh-deploy --force diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cc1776c..44aa722 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,10 +18,25 @@ jobs: uses: ./.github/actions/setup-venv - name: Run checks - run: uv run inv check + run: uv run --frozen inv check + tests: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.11", "3.12", "3.13"] + steps: + - name: Check out + uses: actions/checkout@v4 + - name: Set up the environment with multiple python versions + uses: astral-sh/setup-uv@v6 + with: + version: "0.8.16" + enable-cache: true + cache-dependency-glob: "pyproject.toml" + python-version: ${{ matrix.python-version }} - name: Run test - run: uv run inv tests.run + run: uv run --frozen inv tests.run check-docs: runs-on: ubuntu-latest @@ -33,4 +48,4 @@ jobs: uses: ./.github/actions/setup-venv - name: Check if documentation can be built - run: uv run mkdocs build -s + run: uv run --frozen mkdocs build -s diff --git a/.github/workflows/new-version.yml b/.github/workflows/new-version.yml index 3ae0d77..acfba75 100644 --- a/.github/workflows/new-version.yml +++ b/.github/workflows/new-version.yml @@ -23,7 +23,7 @@ jobs: - name: Extract latest version id: latest-version run: | - VERSION=$(uv run inv version); echo "Current version: $VERSION" + VERSION=$(uv run --frozen inv version); echo "Current version: $VERSION" echo "version=$VERSION" >> $GITHUB_ENV - name: Check if tag exists diff --git a/.gitignore b/.gitignore index c78fe4c..10ab90e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ slim.report.* .infisical.json backups uv.lock +.vscode # # # Byte-compiled / optimized / DLL files From a83829c2439eed2e758ec83a329ca72daa240a17 Mon Sep 17 00:00:00 2001 From: Tobias Burgherr Date: Wed, 10 Sep 2025 20:29:16 +0200 Subject: [PATCH 3/7] Remove --frozen --- .github/workflows/docu.yml | 2 +- .github/workflows/main.yml | 6 +++--- .github/workflows/new-version.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docu.yml b/.github/workflows/docu.yml index 5267521..c384783 100644 --- a/.github/workflows/docu.yml +++ b/.github/workflows/docu.yml @@ -30,4 +30,4 @@ jobs: path: .cache restore-keys: | mkdocs-material- - - run: uv run --frozen mkdocs gh-deploy --force + - run: uv run mkdocs gh-deploy --force diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 44aa722..6764f4f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,7 +18,7 @@ jobs: uses: ./.github/actions/setup-venv - name: Run checks - run: uv run --frozen inv check + run: uv run inv check tests: runs-on: ubuntu-latest @@ -36,7 +36,7 @@ jobs: cache-dependency-glob: "pyproject.toml" python-version: ${{ matrix.python-version }} - name: Run test - run: uv run --frozen inv tests.run + run: uv run inv tests.run check-docs: runs-on: ubuntu-latest @@ -48,4 +48,4 @@ jobs: uses: ./.github/actions/setup-venv - name: Check if documentation can be built - run: uv run --frozen mkdocs build -s + run: uv run mkdocs build -s diff --git a/.github/workflows/new-version.yml b/.github/workflows/new-version.yml index acfba75..3ae0d77 100644 --- a/.github/workflows/new-version.yml +++ b/.github/workflows/new-version.yml @@ -23,7 +23,7 @@ jobs: - name: Extract latest version id: latest-version run: | - VERSION=$(uv run --frozen inv version); echo "Current version: $VERSION" + VERSION=$(uv run inv version); echo "Current version: $VERSION" echo "version=$VERSION" >> $GITHUB_ENV - name: Check if tag exists From 588050dd78776ea59a6206673e81b11763294edf Mon Sep 17 00:00:00 2001 From: Tobias Burgherr Date: Wed, 10 Sep 2025 20:36:17 +0200 Subject: [PATCH 4/7] Improve test run with parellel runs --- .github/workflows/main.yml | 4 ++-- pyproject.toml | 1 + tasks/project.py | 2 +- tasks/tests.py | 6 +++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6764f4f..b75908a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: cache-dependency-glob: "pyproject.toml" python-version: ${{ matrix.python-version }} - name: Run test - run: uv run inv tests.run + run: uv run --with-group test inv tests.run --parallel check-docs: runs-on: ubuntu-latest @@ -48,4 +48,4 @@ jobs: uses: ./.github/actions/setup-venv - name: Check if documentation can be built - run: uv run mkdocs build -s + run: uv run --with-group docs inv docs.build diff --git a/pyproject.toml b/pyproject.toml index aa0bb4d..efa5441 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,6 +65,7 @@ test = [ "pytest>=8.3.4", "pytest-cov>=4.1.0", "pytest-docker>=1.0.0", + "pytest-xdist>=3.8.0", ] diff --git a/tasks/project.py b/tasks/project.py index 619b972..290c6c0 100644 --- a/tasks/project.py +++ b/tasks/project.py @@ -81,7 +81,7 @@ def install( if venv_update: update_venv(c) if group: - success(f"Group {', '.join([f"'{g}'" for g in group])} installed.") + success("Group " + ", ".join([f"'{g}'" for g in group]) + " installed.") success("Installation done, your are ready to go ...") diff --git a/tasks/tests.py b/tasks/tests.py index 6fc7092..407ec56 100644 --- a/tasks/tests.py +++ b/tasks/tests.py @@ -1,13 +1,13 @@ from tasks import ( + Ctx, doc, header, task, - Ctx, ) @task -def run(c: Ctx): +def run(c: Ctx, parallel: bool = False): """Run tests""" header(doc()) - c.run("pytest -v", echo=True, pty=True) + c.run("pytest -v" + (" -n auto" if parallel else ""), echo=True, pty=True) From ce8657dab747669a375ddcdbeaa826e05103ac49 Mon Sep 17 00:00:00 2001 From: Tobias Burgherr Date: Wed, 10 Sep 2025 20:38:51 +0200 Subject: [PATCH 5/7] Use --group --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b75908a..30fafce 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: cache-dependency-glob: "pyproject.toml" python-version: ${{ matrix.python-version }} - name: Run test - run: uv run --with-group test inv tests.run --parallel + run: uv run --group test inv tests.run --parallel check-docs: runs-on: ubuntu-latest @@ -48,4 +48,4 @@ jobs: uses: ./.github/actions/setup-venv - name: Check if documentation can be built - run: uv run --with-group docs inv docs.build + run: uv run --group docs inv docs.build From 5a7cc1f87a109d33d576666b49c79f276ceca47e Mon Sep 17 00:00:00 2001 From: Tobias Burgherr Date: Wed, 10 Sep 2025 20:41:02 +0200 Subject: [PATCH 6/7] Fixed python 3.11 issues --- .github/workflows/docu.yml | 2 +- tasks/project.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docu.yml b/.github/workflows/docu.yml index c384783..d4a9d00 100644 --- a/.github/workflows/docu.yml +++ b/.github/workflows/docu.yml @@ -30,4 +30,4 @@ jobs: path: .cache restore-keys: | mkdocs-material- - - run: uv run mkdocs gh-deploy --force + - run: uv run --group docs mkdocs gh-deploy --force diff --git a/tasks/project.py b/tasks/project.py index 290c6c0..13ce914 100644 --- a/tasks/project.py +++ b/tasks/project.py @@ -126,7 +126,7 @@ def release( if unreleased or length == 0: echo("\n".join(cl)) else: - echo(f"{"\n".join(cl[:length])}\n...\n") + echo("\n".join(cl[:length]) + "\n...\n") header("Changelog end") if dry else None else: cl = ( From d2b6630ea2d2df75c7a077370b1093c081e90632 Mon Sep 17 00:00:00 2001 From: Tobias Burgherr Date: Wed, 10 Sep 2025 20:43:30 +0200 Subject: [PATCH 7/7] Run all pyhton jobs, even if another fails --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 30fafce..f495865 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,6 +23,7 @@ jobs: tests: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: python-version: ["3.11", "3.12", "3.13"] steps: