release workflow and deps updates
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user