From c62dbce558924a5e0391eaccf61efd3352a65d71 Mon Sep 17 00:00:00 2001 From: Ernesto Ruge Date: Sat, 17 May 2025 09:20:23 +0200 Subject: [PATCH 1/5] fix install packages --- .github/workflows/build-publish.yml | 43 +++++------------------------ .github/workflows/lint-test.yml | 4 +-- 2 files changed, 9 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index b146f9c..826a29f 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -16,16 +16,16 @@ jobs: - uses: actions/checkout@v4 # We use Python 3.10 here because it's the minimum Python version supported by this library. - - name: Setup Python 3.10 - uses: actions/setup-python@v5 + - name: setup Python v3.10 with uv + uses: astral-sh/setup-uv@v6 with: python-version: '3.10' - - name: Install dependencies - run: pip install --upgrade pip build + - name: install packages + run: uv pip install -r pyproject.toml --extra testing --system - name: Build package - run: python -m build + run: uv build - name: Upload build artifacts uses: actions/upload-artifact@v4 @@ -33,38 +33,9 @@ jobs: name: dist_packages path: dist/ - test: - # This job tests the built package by installing it via pip and running unit tests (without tox). - name: Test package - needs: build - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: setup Python v3.10 with uv - uses: astral-sh/setup-uv@v6 - with: - python-version: '3.10' - - - name: install packages - run: uv pip install -r pyproject.toml --extra testing - - - name: Download build artifacts - uses: actions/download-artifact@v4 - with: - name: dist_packages - path: dist/ - - - name: Install built package - run: pip install dist/xml2python-*.whl - - - name: Run unit tests - run: python -m pytest - publish: name: Publish package - needs: test + needs: build runs-on: ubuntu-latest steps: @@ -78,7 +49,7 @@ jobs: uses: AButler/upload-release-assets@v3.0 with: files: dist/* - repo-token: ${{ secrets.GITHUB_TOKEN }} + repo-token: ${{ secrets.PYPI_API_TOKEN }} - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@v1.12.4 diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index 4bb7040..4deb6e4 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -21,7 +21,7 @@ jobs: python-version: '3.10' - name: install packages - run: uv pip install -r pyproject.toml --extra testing + run: uv pip install -r pyproject.toml --extra testing --system - name: lint using ruff run: ruff check --output-format github ./src ./tests @@ -43,7 +43,7 @@ jobs: python-version: '3.10' - name: install packages - run: uv pip install -r pyproject.toml --extra testing + run: uv pip install -r pyproject.toml --extra testing --system - name: run pytest run: python -m pytest tests From 9205478a999c488dd8aa1c4c5f9b3ced1c906120 Mon Sep 17 00:00:00 2001 From: Ernesto Ruge Date: Sat, 17 May 2025 09:26:30 +0200 Subject: [PATCH 2/5] fixes python version --- .github/workflows/build-publish.yml | 4 ++-- .github/workflows/lint-test.yml | 21 +++++++++++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 826a29f..176defb 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -10,7 +10,7 @@ on: jobs: build: name: Build package - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # Provides system Python 3.10 steps: - uses: actions/checkout@v4 @@ -36,7 +36,7 @@ jobs: publish: name: Publish package needs: build - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Download build artifacts diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index 4deb6e4..cdf22b3 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -8,8 +8,25 @@ on: workflow_call: jobs: + prepare: + runs-on: ubuntu-22.04 # Provides system Python 3.10 + steps: + - name: checkout + uses: actions/checkout@v4 + + - name: setup Python v3.10 with uv + uses: astral-sh/setup-uv@v6 + with: + python-version: '3.10' + enable-cache: true + + - name: install packages + run: uv pip install -r pyproject.toml --extra testing --system + + + lint: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # Provides system Python 3.10 steps: - name: checkout @@ -30,7 +47,7 @@ jobs: run: ruff format --check ./src ./tests test: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # Provides system Python 3.10 steps: From 3902c2417211411a06d1cd3ff2d16ae1abb7f1d7 Mon Sep 17 00:00:00 2001 From: Ernesto Ruge Date: Sat, 17 May 2025 09:30:51 +0200 Subject: [PATCH 3/5] fix missing access --- .github/workflows/build-publish.yml | 3 --- .github/workflows/lint-test.yml | 13 +++++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 176defb..ef6c494 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -21,9 +21,6 @@ jobs: with: python-version: '3.10' - - name: install packages - run: uv pip install -r pyproject.toml --extra testing --system - - name: Build package run: uv build diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index cdf22b3..b500244 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -21,12 +21,12 @@ jobs: enable-cache: true - name: install packages - run: uv pip install -r pyproject.toml --extra testing --system - + run: uv venv && uv pip install -r pyproject.toml --extra testing lint: runs-on: ubuntu-22.04 # Provides system Python 3.10 + needs: prepare steps: - name: checkout @@ -38,16 +38,17 @@ jobs: python-version: '3.10' - name: install packages - run: uv pip install -r pyproject.toml --extra testing --system + run: uv venv && uv pip install -r pyproject.toml --extra testing - name: lint using ruff - run: ruff check --output-format github ./src ./tests + run: uv run ruff check --output-format github ./src ./tests - name: format check using ruff run: ruff format --check ./src ./tests test: runs-on: ubuntu-22.04 # Provides system Python 3.10 + needs: prepare steps: @@ -60,7 +61,7 @@ jobs: python-version: '3.10' - name: install packages - run: uv pip install -r pyproject.toml --extra testing --system + run: uv venv && uv pip install -r pyproject.toml --extra testing - name: run pytest - run: python -m pytest tests + run: uv run pytest tests From b53eb90bcee786ba34dd3a2378d5edd74373ac42 Mon Sep 17 00:00:00 2001 From: Ernesto Ruge Date: Sat, 17 May 2025 09:32:13 +0200 Subject: [PATCH 4/5] fix version template --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8ad7fee..22d57d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,7 +54,7 @@ source = "uv-dynamic-versioning" [tool.hatch.build.hooks.version] path = "src/xml2python/_version.py" template = ''' -version = "{version}" +version = '{version}' ''' [tool.uv-dynamic-versioning] From 2f67cf1ccdd5d6b681d740a5ec6e33f009893b3e Mon Sep 17 00:00:00 2001 From: Ernesto Ruge Date: Sat, 17 May 2025 09:33:34 +0200 Subject: [PATCH 5/5] fix run ruff in ci --- .github/workflows/lint-test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index b500244..e252e08 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -36,6 +36,7 @@ jobs: uses: astral-sh/setup-uv@v6 with: python-version: '3.10' + enable-cache: true - name: install packages run: uv venv && uv pip install -r pyproject.toml --extra testing @@ -44,7 +45,7 @@ jobs: run: uv run ruff check --output-format github ./src ./tests - name: format check using ruff - run: ruff format --check ./src ./tests + run: uv run ruff format --check ./src ./tests test: runs-on: ubuntu-22.04 # Provides system Python 3.10 @@ -59,6 +60,7 @@ jobs: uses: astral-sh/setup-uv@v6 with: python-version: '3.10' + enable-cache: true - name: install packages run: uv venv && uv pip install -r pyproject.toml --extra testing