PunimTag Web Application - Major Feature Release #1
@ -419,10 +419,23 @@ jobs:
|
||||
|
||||
- name: Validate backend (imports and app instantiation)
|
||||
run: |
|
||||
# Install Python 3.12 (required for modern type hints like str | None)
|
||||
apt-get update && apt-get install -y software-properties-common
|
||||
add-apt-repository -y ppa:deadsnakes/ppa
|
||||
apt-get update && apt-get install -y python3.12 python3.12-venv python3.12-dev
|
||||
# Install Python 3.12 using pyenv (required for modern type hints like str | None)
|
||||
# Debian Bullseye doesn't have Python 3.12 in default repos, so we use pyenv
|
||||
apt-get update && apt-get install -y \
|
||||
make build-essential libssl-dev zlib1g-dev \
|
||||
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
|
||||
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
|
||||
libffi-dev liblzma-dev git
|
||||
|
||||
# Install pyenv
|
||||
export PYENV_ROOT="/opt/pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
curl https://pyenv.run | bash
|
||||
|
||||
# Install Python 3.12 using pyenv
|
||||
eval "$(pyenv init -)"
|
||||
pyenv install -v 3.12.7
|
||||
pyenv global 3.12.7
|
||||
|
||||
# Create virtual environment with Python 3.12
|
||||
python3.12 -m venv /tmp/backend-venv
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user