mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-18 19:30:27 +08:00
Pin source mtimes to the commit time at image build, so cargo's fingerprints survive the image layer and the warm build stays fresh. Build with line-tables-only debug info and drop the incremental cache to shrink the baked target/.
40 lines
1.6 KiB
Docker
40 lines
1.6 KiB
Docker
FROM ghcr.io/drips-network/ryph-universal:1
|
|
|
|
USER root
|
|
|
|
# Tauri's system libraries (radicle-desktop's cargo build, clippy and tests),
|
|
# and bzip2 for radicle-explorer's .tar.bz2 test fixtures.
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
libwebkit2gtk-4.1-dev \
|
|
libjavascriptcoregtk-4.1-dev \
|
|
libayatana-appindicator3-dev \
|
|
librsvg2-dev \
|
|
libxdo-dev \
|
|
bzip2 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# The OS libraries Playwright's browsers need: WebKit for radicle-desktop's e2e
|
|
# tests, Chromium and WebKit for radicle-explorer's and always-on-node's. The
|
|
# browsers themselves are installed by each member's setup, keyed on its lockfile.
|
|
RUN npx -y playwright@1.61.1 install-deps chromium webkit \
|
|
&& rm -rf /var/lib/apt/lists/* /root/.npm \
|
|
&& chown -R runner:runner /usr/local/share/mise
|
|
|
|
# garden-broker's `make lint`.
|
|
RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/v2.14.0/install.sh \
|
|
| sh -s -- -b /usr/local/bin v2.14.0 \
|
|
&& golangci-lint version
|
|
|
|
USER runner
|
|
|
|
# garden-broker's go.mod files say `go 1.25.0`, a minimum, and pin no toolchain.
|
|
# Without this, mise reads that line as a pin and tries to download Go 1.25.0
|
|
# instead of using the image's newer Go.
|
|
ENV MISE_IDIOMATIC_VERSION_FILE_ENABLE_TOOLS=node,python,deno,bun
|
|
|
|
# Debug info is most of a warm target/ (8 GB of radicle-desktop's 13). Line
|
|
# tables keep file:line in panics and backtraces. Set for the whole machine,
|
|
# so the image's warm build and every run's builds use the same profile.
|
|
ENV CARGO_PROFILE_DEV_DEBUG=line-tables-only
|