diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 1185e35..c2510f4 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -34,7 +34,7 @@ jobs: ports: - 6379:6379 sqldb: - image: postgres:16 + image: postgres:17 env: POSTGRES_USER: panettone POSTGRES_PASSWORD: secret @@ -45,12 +45,12 @@ jobs: options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Create database schema run: PGPASSWORD=secret psql -h 127.0.0.1 -d testdb -U panettone -c "CREATE SCHEMA shakespeare; CREATE SCHEMA happy_hog;" - - name: Install the latest version of uv and set the python version - uses: astral-sh/setup-uv@v5 + - name: Install the latest version of uv + uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python-version }} diff --git a/Dockerfile b/Dockerfile index e4c1ee6..6cdee5f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,11 @@ -FROM ubuntu:25.10 AS base +FROM python:3.14-slim AS base RUN apt-get update -qy \ && apt-get install -qyy \ -o APT::Install-Recommends=false \ -o APT::Install-Suggests=false \ build-essential \ - ca-certificates \ - python3-setuptools \ - python3.14-dev - + ca-certificates COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ @@ -22,25 +19,13 @@ COPY uv.lock /_lock/ RUN cd /_lock && uv sync --locked --no-install-project ########################################################################## -FROM ubuntu:25.10 +FROM python:3.14-slim ENV PATH=/panettone/bin:$PATH RUN groupadd -r panettone RUN useradd -r -d /panettone -g panettone -N panettone -STOPSIGNAL SIGINT - -RUN apt-get update -qy && apt-get install -qyy \ - -o APT::Install-Recommends=false \ - -o APT::Install-Suggests=false \ - python3.14 \ - libpython3.14 \ - libpcre3 - -RUN apt-get clean -RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - COPY --from=base --chown=panettone:panettone /panettone /panettone USER panettone