github.com/lzhfromustc/gofuzz@v0.0.0-20211116160056-151b3108bbd1/docker/builder/Dockerfile (about)

     1  FROM golang:1.16.4
     2  
     3  RUN apt update && apt install -y python3
     4  RUN apt-get update && apt-get install -y --no-install-recommends \
     5  		build-essential \
     6  		curl \
     7  		cmake \
     8  		gcc \
     9  		git \
    10  		libapparmor-dev \
    11  		libbtrfs-dev \
    12  		libdevmapper-dev \
    13  		libseccomp-dev \
    14  		ca-certificates \
    15  		e2fsprogs \
    16  		iptables \
    17  		pkg-config \
    18  		pigz \
    19  		procps \
    20  		xfsprogs \
    21  		xz-utils \
    22  		\
    23  		aufs-tools \
    24  		vim-common \
    25  	&& rm -rf /var/lib/apt/lists/*
    26  
    27  WORKDIR /repos
    28  RUN git clone https://github.com/grpc/grpc-go.git
    29  RUN cd grpc-go && git checkout 9280052d36656451dd7568a18a836c2a74edaf6c
    30  
    31  # override leakcheck.go to prevent sideeffect of leakcheck to the benchmark
    32  COPY docker/builder/leakcheck.go internal/leakcheck/leakcheck.go
    33  
    34  # avoid testsuite
    35  RUN grep -rl 'func (s) Test' ./ | xargs sed -i 's/func (s)/func/g'
    36  
    37  WORKDIR /gofuzz
    38  
    39  # copy source files to docker
    40  COPY goFuzz ./goFuzz
    41  COPY sync ./sync
    42  COPY runtime ./runtime
    43  COPY scripts ./scripts
    44  COPY time ./time
    45  COPY reflect ./reflect
    46  RUN cd goFuzz && make build
    47  
    48  WORKDIR /scripts
    49  COPY docker/builder/entrypoint.sh ./entrypoint.sh
    50  RUN chmod +x entrypoint.sh
    51  ENTRYPOINT [ "/scripts/entrypoint.sh" ]