From 7816c5c5a4ed13e4315996a3c87f00ab22466419 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 08:35:15 +0000 Subject: [PATCH 1/3] Initial plan From 807fea9c4433c9b95c7eda3786ca76edd7f95b7e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 08:39:47 +0000 Subject: [PATCH 2/3] Rework CI workflows to use uv-managed venv with Python 3.12.10 Replace system Python + pip/poetry/setuptools with uv in all three workflow files (build.yml, unit-tests.yml, sphinx-gh-pages.yml). This fixes CI failures caused by grf-py requiring Python >=3.12.10, which the base Ubuntu image does not provide. Co-authored-by: ahyangyi <700956+ahyangyi@users.noreply.github.com> Agent-Logs-Url: https://github.com/ahyangyi/agrf/sessions/9fd65e7f-8147-4fd6-8915-7aa797c78ddb --- .github/workflows/build.yml | 18 ++++++++++-------- .github/workflows/sphinx-gh-pages.yml | 22 +++++++++++++--------- .github/workflows/unit-tests.yml | 16 ++++++++++------ 3 files changed, 33 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index be4dde6..c17eac0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,16 +11,18 @@ jobs: steps: - name: Checkout uses: actions/checkout@main - - name: Install system python deps - run: sudo apt update && sudo apt install python3-ply python3-pil libjpeg-dev zlib1g-dev - - name: Get setuptools - run: pip install --upgrade setuptools - - name: Install poetry - run: pip install poetry + - name: Install system deps + run: sudo apt update && sudo apt install libjpeg-dev zlib1g-dev + - name: Install uv + uses: astral-sh/setup-uv@v4 + - name: Set up Python 3.12.10 + run: uv python install 3.12.10 + - name: Create virtual environment + run: uv venv --python 3.12.10 - name: Install dependencies - run: pip install . + run: uv pip install . - name: Build - run: poetry build + run: uv build - name: Upload Wheel uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/sphinx-gh-pages.yml b/.github/workflows/sphinx-gh-pages.yml index 5bbbedd..4d7fe40 100644 --- a/.github/workflows/sphinx-gh-pages.yml +++ b/.github/workflows/sphinx-gh-pages.yml @@ -22,19 +22,23 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: '3.x' + - name: Install system deps + run: sudo apt update && sudo apt install libjpeg-dev zlib1g-dev + + - name: Install uv + uses: astral-sh/setup-uv@v4 + + - name: Set up Python 3.12.10 + run: uv python install 3.12.10 + + - name: Create virtual environment + run: uv venv --python 3.12.10 - name: Install dependencies - run: | - python -m pip install --upgrade pip - if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi - pip install sphinx furo myst_parser + run: uv pip install ".[doc]" - name: Build documentation - run: make doc + run: uv run make doc - name: Setup Pages uses: actions/configure-pages@v5 diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index c0bbfbd..df4f5b3 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -24,11 +24,15 @@ jobs: steps: - name: Checkout uses: actions/checkout@main - - name: Install system python deps - run: sudo apt update && sudo apt install python3-ply python3-pil libjpeg-dev zlib1g-dev - - name: Get setuptools - run: pip install --upgrade setuptools + - name: Install system deps + run: sudo apt update && sudo apt install libjpeg-dev zlib1g-dev + - name: Install uv + uses: astral-sh/setup-uv@v4 + - name: Set up Python 3.12.10 + run: uv python install 3.12.10 + - name: Create virtual environment + run: uv venv --python 3.12.10 - name: Install dependencies - run: pip install ".[test]" + run: uv pip install ".[test]" - name: Test agrf with coverage - run: pytest + run: uv run pytest From 912dc2454117ae7323aed906d6e679445d85b1c2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 10:30:22 +0000 Subject: [PATCH 3/3] Activate venvs in CI and update requires-python to >=3.12.10 Fix CI failures where `uv run` re-resolved dependencies against requires-python>=3.9, conflicting with grf-py's >=3.12.10 requirement. - Activate venv via GITHUB_ENV/GITHUB_PATH so subsequent steps use it - Update requires-python to >=3.12.10 to match grf-py requirement - Use direct pytest/make commands since venv is activated Co-authored-by: ahyangyi <700956+ahyangyi@users.noreply.github.com> Agent-Logs-Url: https://github.com/ahyangyi/agrf/sessions/50cc3807-9657-4883-befe-6f5c5e55cadb --- .github/workflows/build.yml | 7 +++++-- .github/workflows/sphinx-gh-pages.yml | 9 ++++++--- .github/workflows/unit-tests.yml | 9 ++++++--- pyproject.toml | 2 +- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c17eac0..fd9a025 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,8 +17,11 @@ jobs: uses: astral-sh/setup-uv@v4 - name: Set up Python 3.12.10 run: uv python install 3.12.10 - - name: Create virtual environment - run: uv venv --python 3.12.10 + - name: Create and activate virtual environment + run: | + uv venv --python 3.12.10 + echo "VIRTUAL_ENV=$PWD/.venv" >> $GITHUB_ENV + echo "$PWD/.venv/bin" >> $GITHUB_PATH - name: Install dependencies run: uv pip install . - name: Build diff --git a/.github/workflows/sphinx-gh-pages.yml b/.github/workflows/sphinx-gh-pages.yml index 4d7fe40..07ffc33 100644 --- a/.github/workflows/sphinx-gh-pages.yml +++ b/.github/workflows/sphinx-gh-pages.yml @@ -31,14 +31,17 @@ jobs: - name: Set up Python 3.12.10 run: uv python install 3.12.10 - - name: Create virtual environment - run: uv venv --python 3.12.10 + - name: Create and activate virtual environment + run: | + uv venv --python 3.12.10 + echo "VIRTUAL_ENV=$PWD/.venv" >> $GITHUB_ENV + echo "$PWD/.venv/bin" >> $GITHUB_PATH - name: Install dependencies run: uv pip install ".[doc]" - name: Build documentation - run: uv run make doc + run: make doc - name: Setup Pages uses: actions/configure-pages@v5 diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index df4f5b3..de58042 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -30,9 +30,12 @@ jobs: uses: astral-sh/setup-uv@v4 - name: Set up Python 3.12.10 run: uv python install 3.12.10 - - name: Create virtual environment - run: uv venv --python 3.12.10 + - name: Create and activate virtual environment + run: | + uv venv --python 3.12.10 + echo "VIRTUAL_ENV=$PWD/.venv" >> $GITHUB_ENV + echo "$PWD/.venv/bin" >> $GITHUB_PATH - name: Install dependencies run: uv pip install ".[test]" - name: Test agrf with coverage - run: uv run pytest + run: pytest diff --git a/pyproject.toml b/pyproject.toml index 27bc7e0..fa6a0db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ authors = [ ] description = "Ahyangyi's OpenTTD NewGRF Toolkit" readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.12.10" classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3",