feat: adding python 3.12 support (#36)

* feat: adding first version of Dockerfile Python3.12 compatible

* ci: add python 3.12 checks
This commit is contained in:
Jhony Avella 2024-04-29 11:28:19 -05:00 committed by GitHub
parent f68719de86
commit 20ec2c8b99
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 13 deletions

View File

@ -7,12 +7,15 @@ on:
jobs: jobs:
tests: tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.12']
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Set up Python 3.8 - name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: 3.8 python-version: ${{ matrix.python-version }}
- name: Upgrade pip - name: Upgrade pip
run: python -m pip install --upgrade pip setuptools run: python -m pip install --upgrade pip setuptools
- name: Install dependencies - name: Install dependencies

View File

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:1.4 # syntax=docker/dockerfile:1.4
FROM docker.io/ubuntu:20.04 FROM docker.io/python:3.12-slim-bookworm
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
@ -7,14 +7,15 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
apt update && \ apt update && \
apt upgrade -y && \ apt upgrade -y && \
apt install -y \ apt install -y \
language-pack-en \ locales \
git \ git \
python3 \ python3-dev \
python3-pip \ build-essential \
python3-venv \ default-libmysqlclient-dev \
libmysqlclient-dev \ pkg-config && \
pkg-config sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
RUN ln -s /usr/bin/python3 /usr/bin/python locale-gen
ENV LC_ALL en_US.UTF-8
###### Git-clone Notes repo ###### ###### Git-clone Notes repo ######
ARG APP_USER_ID=1000 ARG APP_USER_ID=1000
@ -30,7 +31,7 @@ ENV PATH /app/venv/bin:${PATH}
# https://pypi.org/project/setuptools/ # https://pypi.org/project/setuptools/
# https://pypi.org/project/pip/ # https://pypi.org/project/pip/
# https://pypi.org/project/wheel/ # https://pypi.org/project/wheel/
RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install setuptools==68.2.2 pip==23.2.1 wheel==0.41.2 RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install setuptools==69.2.0 pip==24.0 wheel==0.43.0
RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install -r requirements/base.txt RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install -r requirements/base.txt
EXPOSE 8000 EXPOSE 8000