From 027de27d1f785f9ec2b90a4d44ad16bf7244ed44 Mon Sep 17 00:00:00 2001 From: RFCreate <107062289+RFCreate@users.noreply.github.com> Date: Fri, 17 Jan 2025 19:00:06 -0600 Subject: [PATCH 1/4] feat: add python3.13 --- .github/workflows/ci.yml | 14 ++++++++------ .github/workflows/release.yml | 6 ++++-- .pre-commit-config.yaml | 2 +- pyproject.toml | 1 + 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75d46933..a1e99d2d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,6 +2,7 @@ name: CI on: pull_request: push: + workflow_dispatch: schedule: # Run at 17:29 every Saturday - cron: '29 17 * * 6' @@ -114,10 +115,11 @@ jobs: - "3.10" - "3.11" - "3.12" + - "3.13" - "pypy-3.10" wlroots-version: ["0.17.4"] include: - - python-version: "3.12" + - python-version: "3.13" wlroots-version: master steps: - name: Download wayland libraries @@ -187,7 +189,7 @@ jobs: name: ruff tests runs-on: ubuntu-24.04 env: - python-version: "3.12" + python-version: "3.13" steps: - name: Checkout repo uses: actions/checkout@v4 @@ -201,7 +203,7 @@ jobs: name: mypy tests runs-on: ubuntu-24.04 env: - python-version: "3.12" + python-version: "3.13" steps: - name: Install dependencies run: | @@ -228,7 +230,7 @@ jobs: name: black tests runs-on: ubuntu-24.04 env: - python-version: "3.12" + python-version: "3.13" steps: - name: Checkout repo uses: actions/checkout@v4 @@ -246,7 +248,7 @@ jobs: runs-on: ubuntu-24.04 needs: build-wayland env: - python-version: "3.12" + python-version: "3.13" wlroots-version: "0.17.4" steps: - name: Download wayland libraries @@ -282,7 +284,7 @@ jobs: runs-on: ubuntu-24.04 needs: build-wayland env: - python-version: "3.12" + python-version: "3.13" wlroots-version: "0.17.4" steps: - name: Download wayland libraries diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f81a258a..1b391544 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,6 +2,7 @@ name: Publish to PyPI on: pull_request: push: + workflow_dispatch: release: types: [published] jobs: @@ -167,7 +168,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - name: Download wayland libraries uses: actions/download-artifact@v4 @@ -281,6 +282,7 @@ jobs: - "3.10" - "3.11" - "3.12" + - "3.13" - "pypy-3.10" steps: - name: Install dependencies @@ -315,7 +317,7 @@ jobs: container: quay.io/pypa/manylinux_2_34_x86_64 needs: build-wayland env: - python-version: "3.12" + python-version: "3.13" steps: - name: Download wayland libraries uses: actions/download-artifact@v4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index aeba80d1..30e9dc93 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,7 @@ repos: hooks: - id: black # Use the latest supported version here - language_version: python3.12 + language_version: python3.13 - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.1.14 hooks: diff --git a/pyproject.toml b/pyproject.toml index 194537d5..0fae7a19 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Desktop Environment :: Window Managers", From 56f36b42b18a99eafeec13f6d358e58b26476422 Mon Sep 17 00:00:00 2001 From: RFCreate <107062289+RFCreate@users.noreply.github.com> Date: Sun, 19 Jan 2025 13:39:00 -0600 Subject: [PATCH 2/4] fix(mypy): need wayland libraries for pywayland build --- .github/workflows/ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1e99d2d..8eaff4fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -202,14 +202,22 @@ jobs: mypy-test: name: mypy tests runs-on: ubuntu-24.04 + needs: build-wayland env: python-version: "3.13" + wlroots-version: "0.17.4" steps: - name: Install dependencies run: | sudo apt update sudo apt-get install -y --no-install-recommends \ libxkbcommon-dev \ + - name: Download wayland libraries + uses: actions/download-artifact@v4 + with: + name: wlroots-${{ env.wlroots-version }} + - name: Unpack wayland artifact + run: sudo tar xf wayland.tar.gz -C / - name: Checkout repo uses: actions/checkout@v4 - name: Setup Python From cf531dc8bbb6b1536925fdb473eb705225039f82 Mon Sep 17 00:00:00 2001 From: RFCreate <107062289+RFCreate@users.noreply.github.com> Date: Sun, 23 Feb 2025 20:01:03 -0600 Subject: [PATCH 3/4] fix(test-wheels): need wayland libraries for pywayland build --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1b391544..6324fd0a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -290,6 +290,12 @@ jobs: sudo apt update sudo apt-get install -y --no-install-recommends \ libxkbcommon-dev + - name: Download wayland libraries + uses: actions/download-artifact@v4 + with: + name: wayland + - name: Unpack wayland artifact + run: sudo tar xf wayland.tar.gz -C / - name: Download wheels uses: actions/download-artifact@v4 with: From ba9dc688723dc4564339de83af9aced675bdcd06 Mon Sep 17 00:00:00 2001 From: RFCreate <107062289+RFCreate@users.noreply.github.com> Date: Fri, 6 Jun 2025 20:51:46 -0600 Subject: [PATCH 4/4] fix: avoid python free-threaded build, not supported --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6324fd0a..9be5a0c9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -178,7 +178,7 @@ jobs: run: tar xf wayland.tar.gz -C / - name: Set python version run: | - PYTHON_ROOT=$(find /opt/python -name cp${PYTHON_VERSION/./}-*) + PYTHON_ROOT=$(find /opt/python -name "cp${PYTHON_VERSION/./}-*" -not -name "*t") echo "${PYTHON_ROOT}/bin" >> $GITHUB_PATH shell: bash env: @@ -233,7 +233,7 @@ jobs: - name: Set python version run: | ls /opt/python/ - PYTHON_ROOT=$(find /opt/python -name pp${PYTHON_VERSION/./}-*_pp${PP_VERSION/./}) + PYTHON_ROOT=$(find /opt/python -name "pp${PYTHON_VERSION/./}-*_pp${PP_VERSION/./}" -not -name "*t") echo "${PYTHON_ROOT}" echo "${PYTHON_ROOT}/bin" >> $GITHUB_PATH shell: bash @@ -333,7 +333,7 @@ jobs: run: tar xf wayland.tar.gz -C / - name: Set python version run: | - PYTHON_ROOT=$(find /opt/python -name cp${PYTHON_VERSION/./}-*) + PYTHON_ROOT=$(find /opt/python -name "cp${PYTHON_VERSION/./}-*" -not -name "*t") echo "${PYTHON_ROOT}/bin" >> $GITHUB_PATH shell: bash env: