Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install poetry
uses: abatilo/actions-poetry@7b6d33e44b4f08d7021a1dee3c044e9c253d6439
uses: abatilo/actions-poetry@v2
with:
poetry-version: "1.8.4"
poetry-version: "1.8.5"
- name: Install dependencies
run: |
poetry install
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ jobs:
steps:
# Checkout project repository
- uses: actions/checkout@v4
- name: Set up Python 3.10
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- name: Install poetry
uses: abatilo/actions-poetry@7b6d33e44b4f08d7021a1dee3c044e9c253d6439
uses: abatilo/actions-poetry@v2
with:
poetry-version: "1.3.2"
poetry-version: "1.8.5"
- name: Install dependencies
run: |
poetry install
Expand All @@ -50,6 +50,7 @@ jobs:
RELEASE_TYPE: ${{ github.event.inputs.release-type }}
- name: Build package
run: |
poetry lock
poetry build
- name: Commit pyproject.toml and poetry.lock
run: |
Expand Down
39 changes: 16 additions & 23 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,31 +1,24 @@
FROM python:3.12-alpine as base
ENV PYTHONFAULTHANDLER=1 \
PYTHONHASHSEED=random \
PYTHONUNBUFFERED=1
RUN apk update && \
apk upgrade && \
apk add --no-cache libgcc
FROM python:3.12-alpine AS builder
ENV PIP_DEFAULT_TIMEOUT=100 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1
FROM python:3.12-slim-bookworm AS builder
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
ENV UV_HTTP_TIMEOUT=100 \
UV_NO_CACHE=1
WORKDIR /app
RUN apk update && \
apk upgrade && \
apk add gcc libc-dev libffi-dev cargo alpine-sdk bsd-compat-headers openssl-dev python3-dev && \
python -m pip install --upgrade pip && \
pip install poetry
RUN python -m venv /venv
COPY ["pyproject.toml", "./"]
COPY ["poetry.lock", "./"]
RUN poetry export -f requirements.txt | /venv/bin/pip install -r /dev/stdin
RUN uv pip install --system poetry poetry-plugin-export
COPY pyproject.toml poetry.lock ./
RUN uv venv /venv && \
poetry config warnings.export false && \
poetry export -f requirements.txt -o requirements.txt && \
VIRTUAL_ENV=/venv uv pip install -r requirements.txt
COPY . .
RUN poetry build && /venv/bin/pip install dist/*.whl
RUN poetry build && \
VIRTUAL_ENV=/venv uv pip install dist/*.whl

FROM base AS final
FROM python:3.12-slim-bookworm AS final
ENV PYTHONFAULTHANDLER=1 \
PYTHONHASHSEED=random \
PYTHONUNBUFFERED=1
WORKDIR /app
COPY --from=builder /venv /venv
ENV PATH="/venv/bin:${PATH}"
# CMD [ "mitmproxy2swagger" ]

ENTRYPOINT [ "mitmproxy2swagger" ]
Loading
Loading