mirror of
https://github.com/Quad4-Software/MeshChatX.git
synced 2026-08-18 09:49:09 -04:00
36 lines
1.3 KiB
Text
36 lines
1.3 KiB
Text
# Reproducible native build (wheel, Linux AppImage/deb/rpm/apk) in one image.
|
|
# Default target builds everything; override with --build-arg MESHCHATX_BUILD_TARGETS=wheel|electron|all
|
|
# Pick specific Linux package formats with --build-arg MESHCHATX_LINUX_FORMATS=appimage,deb,rpm,apk (default: all)
|
|
#
|
|
# Build (all formats):
|
|
# docker build -f Dockerfile.build -t meshchatx-build:local .
|
|
#
|
|
# Build only an AppImage and deb:
|
|
# docker build -f Dockerfile.build \
|
|
# --build-arg MESHCHATX_BUILD_TARGETS=electron \
|
|
# --build-arg MESHCHATX_LINUX_FORMATS=appimage,deb \
|
|
# -t meshchatx-build:local .
|
|
#
|
|
# Copy artifacts to the host (example):
|
|
# cid=$(docker create meshchatx-build:local)
|
|
# docker cp "$cid":/artifacts ./meshchatx-artifacts
|
|
# docker rm "$cid"
|
|
|
|
FROM python:3.14.4-slim-trixie
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
PYTHONUNBUFFERED=1 \
|
|
MESHCHATX_BUILD_TARGETS=all \
|
|
MESHCHATX_LINUX_FORMATS=all
|
|
|
|
ARG MESHCHATX_BUILD_TARGETS=all
|
|
ENV MESHCHATX_BUILD_TARGETS=${MESHCHATX_BUILD_TARGETS}
|
|
ARG MESHCHATX_LINUX_FORMATS=all
|
|
ENV MESHCHATX_LINUX_FORMATS=${MESHCHATX_LINUX_FORMATS}
|
|
|
|
WORKDIR /src
|
|
COPY . /src
|
|
|
|
RUN chmod +x scripts/ci/docker-build-entry.sh && \
|
|
find scripts/ci -maxdepth 1 -name '*.sh' -exec chmod +x {} + && \
|
|
bash scripts/ci/docker-build-entry.sh
|