release workflow and deps updates

This commit is contained in:
2025-10-16 18:51:32 -05:00
committed by Jason Ross
parent 89473852f6
commit d7468df88b
7 changed files with 514 additions and 395 deletions
+2 -2
View File
@@ -406,10 +406,10 @@ jobs:
with: with:
ref: main ref: main
- name: Set up Python 3.12 - name: Set up Python 3.13
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.12' python-version: '3.13'
- name: Install Poetry - name: Install Poetry
uses: snok/install-poetry@v1 uses: snok/install-poetry@v1
+3 -3
View File
@@ -87,7 +87,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.12' python-version: '3.13'
- name: Install Poetry - name: Install Poetry
uses: snok/install-poetry@v1 uses: snok/install-poetry@v1
@@ -118,10 +118,10 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python 3.12 - name: Set up Python 3.13
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.12' python-version: '3.13'
- name: Install Poetry - name: Install Poetry
uses: snok/install-poetry@v1 uses: snok/install-poetry@v1
Generated
+453 -362
View File
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -7,13 +7,13 @@ authors = [
] ]
license = { text = "MIT" } license = { text = "MIT" }
readme = "README.md" readme = "README.md"
requires-python = "<3.13,>=3.12" requires-python = "<=3.13,>3.12"
dependencies = ["requests>=2.32.4,<3.0.0", "platformdirs>4.0.0,<5.0.0"] dependencies = ["requests>=2.32.4,<3.0.0", "platformdirs>4.0.0,<5.0.0"]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "<3.13,>=3.12" python = "<=3.13,>3.12"
requests = ">=2.32.4,<3.0.0" requests = ">=2.32.5,<3.0.0"
platformdirs = ">4.0.0,<5.0.0" platformdirs = ">=4.5.0,<5.0.0"
urllib3 = ">=2.0.0,<3.0.0" urllib3 = ">=2.0.0,<3.0.0"
[build-system] [build-system]
@@ -26,25 +26,25 @@ android-file-handler = "src.main:main"
[tool.poetry.group.dev.dependencies] [tool.poetry.group.dev.dependencies]
black = "^25.0.0" black = "^25.9.0"
flake8 = "^6.0.0" flake8 = "^7.3.0"
mypy = "^1.5.0" mypy = "^1.18.2"
pre-commit = "^3.4.0" pre-commit = "^4.3.0"
[tool.poetry.group.test.dependencies] [tool.poetry.group.test.dependencies]
pytest = "^7.4.0" pytest = "^8.4.2"
pytest-mock = "^3.11.0" pytest-mock = "^3.15.1"
pytest-cov = "^4.1.0" pytest-cov = "^7.0.0"
[tool.poetry.group.build.dependencies] [tool.poetry.group.build.dependencies]
pyinstaller = "^6.1.0" pyinstaller = "^6.1.0"
[tool.black] [tool.black]
line-length = 88 line-length = 88
target-version = ['py312'] target-version = ['py313']
[tool.mypy] [tool.mypy]
python_version = "3.12" python_version = "3.13"
warn_return_any = true warn_return_any = true
warn_unused_configs = true warn_unused_configs = true
disallow_untyped_defs = true disallow_untyped_defs = true
+11 -3
View File
@@ -52,15 +52,23 @@ ENV PATH="$PYENV_ROOT/bin:$PATH"
RUN git clone https://github.com/pyenv/pyenv.git /root/.pyenv RUN git clone https://github.com/pyenv/pyenv.git /root/.pyenv
# Install Python 3.12 via pyenv # Install Python 3.12 via pyenv with tkinter support
# The tk and tcl packages must be installed before this step for _tkinter to be compiled
RUN eval "$(pyenv init -)" && \ RUN eval "$(pyenv init -)" && \
pyenv install 3.12.0 && \ LDFLAGS="-L/usr/lib" \
pyenv global 3.12.0 && \ CPPFLAGS="-I/usr/include" \
PYTHON_CONFIGURE_OPTS="--enable-shared" \
pyenv install 3.13 && \
pyenv global 3.13 && \
pyenv rehash pyenv rehash
# Update PATH to include pyenv shims # Update PATH to include pyenv shims
ENV PATH="/root/.pyenv/shims:$PATH" ENV PATH="/root/.pyenv/shims:$PATH"
# Verify Python has tkinter support
RUN python3 -c "import tkinter; import _tkinter; print('tkinter support verified')" || \
(echo "ERROR: Python was built without tkinter support" && exit 1)
# Install Poetry # Install Poetry
RUN curl -sSL https://install.python-poetry.org | python3 - --yes RUN curl -sSL https://install.python-poetry.org | python3 - --yes
+13 -7
View File
@@ -23,10 +23,8 @@ RUN apt-get update && \
make \ make \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
tcl8.6 \ tcl-dev \
tk8.6 \ tk-dev \
tcl8.6-dev \
tk8.6-dev \
libx11-6 \ libx11-6 \
libxext6 \ libxext6 \
libxrender1 \ libxrender1 \
@@ -49,15 +47,23 @@ ENV PATH="$PYENV_ROOT/bin:$PATH"
RUN git clone https://github.com/pyenv/pyenv.git /root/.pyenv RUN git clone https://github.com/pyenv/pyenv.git /root/.pyenv
# Install Python 3.12 via pyenv # Install Python 3.12 via pyenv with tkinter support
# The tk8.6-dev package must be installed before this step for _tkinter to be compiled
RUN eval "$(pyenv init -)" && \ RUN eval "$(pyenv init -)" && \
pyenv install 3.12.0 && \ LDFLAGS="-L/usr/lib/x86_64-linux-gnu" \
pyenv global 3.12.0 && \ CPPFLAGS="-I/usr/include/tcl8.6" \
PYTHON_CONFIGURE_OPTS="--enable-shared" \
pyenv install 3.13 && \
pyenv global 3.13 && \
pyenv rehash pyenv rehash
# Update PATH to include pyenv shims # Update PATH to include pyenv shims
ENV PATH="/root/.pyenv/shims:$PATH" ENV PATH="/root/.pyenv/shims:$PATH"
# Verify Python has tkinter support
RUN python3 -c "import tkinter; import _tkinter; print('tkinter support verified')" || \
(echo "ERROR: Python was built without tkinter support" && exit 1)
# Install Poetry # Install Poetry
RUN curl -sSL https://install.python-poetry.org | python3 - --yes RUN curl -sSL https://install.python-poetry.org | python3 - --yes
+19 -5
View File
@@ -10,7 +10,8 @@ FROM fedora:42
# Set build argument for fpm version (can be overridden at build time) # Set build argument for fpm version (can be overridden at build time)
ARG FPM_VERSION=1.16.0 ARG FPM_VERSION=1.16.0
# Install system dependencies # Install system dependencies including tk8-devel for Python tkinter support
# Using tk8 (version 8.6) instead of tk (version 9.0) for Python 3.12 compatibility
RUN dnf -y update && \ RUN dnf -y update && \
dnf -y install \ dnf -y install \
gcc \ gcc \
@@ -33,7 +34,12 @@ RUN dnf -y update && \
gcc-c++ \ gcc-c++ \
patch \ patch \
which \ which \
xz-devel && \ xz-devel \
tk-devel \
tcl-devel \
libX11-devel \
libXext-devel \
libXrender-devel && \
dnf clean all dnf clean all
# Install pyenv # Install pyenv
@@ -42,15 +48,23 @@ ENV PATH="$PYENV_ROOT/bin:$PATH"
RUN git clone https://github.com/pyenv/pyenv.git /root/.pyenv RUN git clone https://github.com/pyenv/pyenv.git /root/.pyenv
# Install Python 3.12 via pyenv # Install Python 3.12 via pyenv with tkinter support
# The tk8-devel package must be installed before this step for _tkinter to be compiled
RUN eval "$(pyenv init -)" && \ RUN eval "$(pyenv init -)" && \
pyenv install 3.12.0 && \ LDFLAGS="-L/usr/lib64" \
pyenv global 3.12.0 && \ CPPFLAGS="-I/usr/include" \
PYTHON_CONFIGURE_OPTS="--enable-shared" \
pyenv install 3.13 && \
pyenv global 3.13 && \
pyenv rehash pyenv rehash
# Update PATH to include pyenv shims # Update PATH to include pyenv shims
ENV PATH="/root/.pyenv/shims:$PATH" ENV PATH="/root/.pyenv/shims:$PATH"
# Verify Python has tkinter support
RUN python3 -c "import tkinter; import _tkinter; print('tkinter support verified')" || \
(echo "ERROR: Python was built without tkinter support" && exit 1)
# Install Poetry # Install Poetry
RUN curl -sSL https://install.python-poetry.org | python3 - --yes RUN curl -sSL https://install.python-poetry.org | python3 - --yes