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
+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
# 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 -)" && \
pyenv install 3.12.0 && \
pyenv global 3.12.0 && \
LDFLAGS="-L/usr/lib" \
CPPFLAGS="-I/usr/include" \
PYTHON_CONFIGURE_OPTS="--enable-shared" \
pyenv install 3.13 && \
pyenv global 3.13 && \
pyenv rehash
# Update PATH to include pyenv shims
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
RUN curl -sSL https://install.python-poetry.org | python3 - --yes
+13 -7
View File
@@ -23,10 +23,8 @@ RUN apt-get update && \
make \
zlib1g-dev \
ca-certificates \
tcl8.6 \
tk8.6 \
tcl8.6-dev \
tk8.6-dev \
tcl-dev \
tk-dev \
libx11-6 \
libxext6 \
libxrender1 \
@@ -49,15 +47,23 @@ ENV PATH="$PYENV_ROOT/bin:$PATH"
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 -)" && \
pyenv install 3.12.0 && \
pyenv global 3.12.0 && \
LDFLAGS="-L/usr/lib/x86_64-linux-gnu" \
CPPFLAGS="-I/usr/include/tcl8.6" \
PYTHON_CONFIGURE_OPTS="--enable-shared" \
pyenv install 3.13 && \
pyenv global 3.13 && \
pyenv rehash
# Update PATH to include pyenv shims
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
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)
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 && \
dnf -y install \
gcc \
@@ -33,7 +34,12 @@ RUN dnf -y update && \
gcc-c++ \
patch \
which \
xz-devel && \
xz-devel \
tk-devel \
tcl-devel \
libX11-devel \
libXext-devel \
libXrender-devel && \
dnf clean all
# Install pyenv
@@ -42,15 +48,23 @@ ENV PATH="$PYENV_ROOT/bin:$PATH"
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 -)" && \
pyenv install 3.12.0 && \
pyenv global 3.12.0 && \
LDFLAGS="-L/usr/lib64" \
CPPFLAGS="-I/usr/include" \
PYTHON_CONFIGURE_OPTS="--enable-shared" \
pyenv install 3.13 && \
pyenv global 3.13 && \
pyenv rehash
# Update PATH to include pyenv shims
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
RUN curl -sSL https://install.python-poetry.org | python3 - --yes