31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/bin/bash
 | ||
|  | 
 | ||
|  | set -ex | ||
|  | 
 | ||
|  | PROJECT_NAME=libsndfile | ||
|  | 
 | ||
|  | # Clone the oss-fuzz repository | ||
|  | git clone https://github.com/google/oss-fuzz.git /tmp/ossfuzz | ||
|  | 
 | ||
|  | if [[ ! -d /tmp/ossfuzz/projects/${PROJECT_NAME} ]] | ||
|  | then | ||
|  |     echo "Could not find the ${PROJECT_NAME} project in ossfuzz" | ||
|  | 
 | ||
|  |     # Exit with a success code while the libsndfile project is not expected to exist | ||
|  |     # on oss-fuzz. | ||
|  |     exit 0 | ||
|  | fi | ||
|  | 
 | ||
|  | # Work out which branch to clone from, inside Docker | ||
|  | BRANCH=${GITHUB_REF} | ||
|  | 
 | ||
|  | # Modify the oss-fuzz Dockerfile so that we're checking out the current reference on CI. | ||
|  | sed -i "s@RUN.*@RUN git config --global remote.origin.fetch '+refs/pull/*:refs/remotes/origin/pull/*' \&\& git clone https://github.com/libsndfile/libsndfile.git /src/libsndfile \&\& cd /src/libsndfile \&\& git checkout -b ${BRANCH}@" /tmp/ossfuzz/projects/${PROJECT_NAME}/Dockerfile | ||
|  | 
 | ||
|  | # Try and build the fuzzers | ||
|  | pushd /tmp/ossfuzz | ||
|  | python3 infra/helper.py build_image --pull ${PROJECT_NAME} | ||
|  | python3 infra/helper.py build_fuzzers ${PROJECT_NAME} | ||
|  | python3 infra/helper.py check_build ${PROJECT_NAME} --engine libfuzzer --sanitizer address --architecture x86_64 | ||
|  | popd |