| 123456789101112131415161718192021222324252627282930313233343536373839 |
- # On macOS, docker does not support IPv6.
- FROM alpine
- RUN apk add go fuse bash rustup git gcc musl-dev g++
- RUN rustup-init -y --profile minimal
- ENV PATH="/root/.cargo/bin:$PATH"
- WORKDIR /src
- COPY . .
- RUN git clone https://github.com/anacrolix/possum
- WORKDIR possum
- RUN git submodule update --init --recursive
- RUN --mount=type=cache,target=/root/.cargo/registry \
- --mount=type=cache,target=/root/.cargo/git \
- --mount=type=cache,target=/src/possum/target \
- cargo build
- WORKDIR ..
- ARG GOCACHE=/root/.cache/go-build
- ARG GOMODCACHE=/root/go/pkg/mod
- RUN --mount=type=cache,target=$GOCACHE \
- --mount=type=cache,target=$GOMODCACHE \
- CGO_LDFLAGS=possum/target/debug/libpossum.a \
- go test -failfast ./...
- # # Can't use fuse inside Docker? Asks for modprobe fuse.
- # RUN go install github.com/anacrolix/godo@v1
- # RUN echo "$HOME"
- # ENV PATH="/root/go/bin:$PATH"
- # # RUN --mount=type=cache,target=$GOCACHE \
- # # --mount=type=cache,target=$GOMODCACHE \
- # # ./fs/test.sh
|