diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-10-27 07:56:36 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-10-27 13:29:00 +0100 |
| commit | 96e03c1c31a7f2e7f80b2d8b9f3df117df5030d1 (patch) | |
| tree | 2dafb140523b1c4ceeb4f9f315ee0334b4cf876d | |
| parent | 353b1a5cf9686f6fc17c4d35086ae6e004879a53 (diff) | |
.github/workflows: switch fuzzit to syz-old-env
Use syz-old-env because it contains Go 1.14.
syz-env contains Go 1.15 and go-fuzz is broken with Go 1.15:
https://github.com/dvyukov/go-fuzz/issues/294
| -rw-r--r-- | .github/workflows/ci.yml | 7 | ||||
| -rw-r--r-- | tools/docker/old-env/Dockerfile | 16 |
2 files changed, 17 insertions, 6 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1cdda31b..e6da2454b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,9 +115,12 @@ jobs: key: cache - name: regression if: ${{ github.event_name == 'pull_request' }} - run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-env tools/fuzzit.sh local-regression + # We use syz-old-env because it contains Go 1.14. + # syz-env contains Go 1.15 and go-fuzz is broken with Go 1.15: + # https://github.com/dvyukov/go-fuzz/issues/294 + run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-old-env tools/fuzzit.sh local-regression - name: fuzzing if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} env: FUZZIT_API_KEY: ${{ secrets.FUZZIT_API_KEY }} - run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-env tools/fuzzit.sh fuzzing + run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-old-env tools/fuzzit.sh fuzzing diff --git a/tools/docker/old-env/Dockerfile b/tools/docker/old-env/Dockerfile index 08c3f215e..2089b3038 100644 --- a/tools/docker/old-env/Dockerfile +++ b/tools/docker/old-env/Dockerfile @@ -7,10 +7,10 @@ FROM ubuntu:16.04 LABEL homepage="https://github.com/google/syzkaller" -RUN dpkg --add-architecture i386 && \ - apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends \ - sudo make nano git curl ca-certificates g++ \ +RUN dpkg --add-architecture i386 && apt-get update +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends \ + sudo make nano git curl ca-certificates gnupg \ + apt-transport-https software-properties-common g++ \ g++-arm-linux-gnueabi g++-aarch64-linux-gnu g++-powerpc64le-linux-gnu \ g++-mips64el-linux-gnuabi64 g++-s390x-linux-gnu \ linux-libc-dev:i386 lib32gcc-5-dev lib32stdc++-5-dev \ @@ -23,6 +23,14 @@ RUN curl https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz | tar -C /usr/loca ENV PATH /usr/local/go/bin:/gopath/bin:$PATH ENV GOPATH /gopath +# Install clang-10 from llvm.org. +# The distro-provided clang is too old for Go fuzzing. +RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - +RUN add-apt-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" +RUN apt-get update +RUN apt-get install -y -q --no-install-recommends clang-10 +RUN ln -s /usr/bin/clang-10 /usr/bin/clang + # Pre-create dirs for syz-env. # This is necessary to make docker work with the current user, # otherwise --volume will create these dirs under root and then |
