P10 (WIP): release build script, Dockerfile, conda recipes, fresh-VM acceptance task
scripts/build_dist.sh: sdist + pure wheel + manylinux_2_28 kernel wheels (maturin --zig,
both architectures). Dockerfile (multi-stage, kernels included, non-root user).
packaging/conda/{simurg,simurg-core}. scripts/p10/digest.py: platform-independent content
digests of GTC/VCF/summary outputs. Cloud task p10 installs the artifacts on a fresh
Ubuntu VM and runs the tutorial with pip, Docker and conda installs. trial.sh picks the
arm64/amd64 image from the instance type and can run instances in parallel (PARALLEL=1).
Licence files ship in both wheels; Rust crate notices added.
This commit is contained in:
1 parent
4d5c9be4ae
commit
035e5ad66f
13 files changed
+403
-5
No files matched your search
+28
@@ -0,0 +1,28 @@
|
||||
# SimurgArray container: the `simurg` CLI with the compiled kernels.
|
||||
# docker build -t simurg:1.0.0 .
|
||||
# docker run --rm -v "$PWD":/work simurg:1.0.0 genotype --bpm M.bpm --egt C.egt --idats idats --out run/gtc
|
||||
# Inputs and outputs live in the mounted /work folder; the image holds no data.
|
||||
ARG PYTHON=3.12
|
||||
|
||||
FROM python:${PYTHON}-slim-bookworm AS build
|
||||
RUN apt-get update -q && apt-get install -y -q --no-install-recommends curl gcc libc6-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
|
||||
ENV PATH=/root/.cargo/bin:$PATH
|
||||
WORKDIR /src
|
||||
COPY pyproject.toml README.md LICENSE THIRD_PARTY_NOTICES.md ./
|
||||
COPY src ./src
|
||||
COPY rust/simurg-core ./rust/simurg-core
|
||||
RUN pip wheel --no-cache-dir --no-deps -w /wheels . ./rust/simurg-core
|
||||
|
||||
FROM python:${PYTHON}-slim-bookworm
|
||||
LABEL org.opencontainers.image.title="SimurgArray" \
|
||||
org.opencontainers.image.description="Research toolkit for Illumina Infinium genotyping BeadChip data" \
|
||||
org.opencontainers.image.licenses="MIT"
|
||||
COPY --from=build /wheels /wheels
|
||||
RUN pip install --no-cache-dir /wheels/*.whl && rm -rf /wheels \
|
||||
&& useradd --create-home --uid 1000 simurg
|
||||
USER simurg
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["simurg"]
|
||||
CMD ["--help"]
|
||||
Reference in new issue
Block a user