From d0b26b83379f4744f58f3c6e9ac85fdddb4c41ba Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 14 Jun 2019 10:48:59 -0400 Subject: [PATCH] oss-fuzz-build: support branch switching --- README-maintainer | 3 +++ fuzz/oss-fuzz-build | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/README-maintainer b/README-maintainer index cb699074..2a6c4645 100644 --- a/README-maintainer +++ b/README-maintainer @@ -25,6 +25,9 @@ GOOGLE OSS-FUZZ Clone the oss-fuzz project. From the root directory of the repository: + Add `-e GITHUB_FORK=fork -e GITHUB_BRANCH=branch` to build_fuzzers + to work off a fork/branch rather than qpdf/master. + python infra/helper.py build_image --pull qpdf python infra/helper.py build_fuzzers qpdf python infra/helper.py check_build qpdf diff --git a/fuzz/oss-fuzz-build b/fuzz/oss-fuzz-build index 8a0b7d42..20bd01ed 100755 --- a/fuzz/oss-fuzz-build +++ b/fuzz/oss-fuzz-build @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex # This is used invoked from # https://github.com/google/oss-fuzz/blob/master/projects/qpdf/build.sh @@ -6,6 +6,21 @@ # It should be run from the top level directory of a clean checkout of # qpdf. It is also exercised in ../azure-pipelines/build-fuzzer +if [[ $GITHUB_FORK != "" ]]; then + git remote add fork https://github.com/$GITHUB_FORK/qpdf + git fetch fork --depth=1 + CUR_BRANCH=$(git rev-parse --abbrev-ref @) + if [[ $GITHUB_BRANCH == "" ]]; then + GITHUB_BRANCH=$CUR_BRANCH + fi + if [[ $GITHUB_BRANCH == $CUR_BRANCH ]]; then + git reset --hard fork/$CUR_BRANCH + else + git branch -f $GITHUB_BRANCH fork/$GITHUB_BRANCH + git checkout $GITHUB_BRANCH + fi +fi + ./configure \ --enable-oss-fuzz \ --enable-static \