aboutsummaryrefslogtreecommitdiff
path: root/infra/repo_manager.py
AgeCommit message (Collapse)Author
2021-08-17Don't upload builds in run_fuzzers. (#6151)Oliver Chang
The current way adds a lot of ordering assumptions, and doesn't fit too well with parallel batch fuzzing either. Add a "upload-build" boolean action input that can be added to "build_fuzzers" to upload latest builds instead. Builds are now uploaded by commit hash, rather than a fixed "latest" name. ClusterFuzzLite's download_latest_build will check the last 3 commits and download the first available build by git hash.
2021-03-23Fix bisection when the original checkout is for a single branch. (#5478)Oliver Chang
Repos cloned with `--branch BRANCH` will only track that branch, even when we unshallow. If we provide a git SHA from another branch, it will not be recognized. To fix, this, we update the remote tracking config and fetch them. For google/osv#88.
2021-01-28[CIFuzz] Fix diffing + Refactor (#5032)jonathanmetzman
* [CIFuzz] Fix diffing + Refactor Make diffing work in two scenarios where it previously failed: 1. Commit fuzzing. In this case, we diff $COMMIT against $COMMIT^1 because the intent here is to fuzz the commit. 2. Fuzzing PRs that aren't to master. In this case, we previously were diffing against origin/master. Instead, diff against the local version of the base repo. This also has the nice effect of handling PRs that havent pulled from master recently enough. Also do refactoring. 1. Move code that is different for differenct CI systems to continuous_integration.py 2. Change how configuration in build_fuzzers is handled. Previously configuration was gotten in build_fuzzers_entrypoint and passed as individual params. This made code ugly and hard to read. Instead, move code dealing with config to it's own module config_utils. This module implements a config class which can be used to create objects that are passed around to code that needs it. Making the code much easier to read. TODO: Move run_fuzzers code to new config system.
2021-01-14repo_manager: Allow unshallow to return non-zero. (#4963)Oliver Chang
Unshallow can fail in a submodule, even if the unshallow succeeded for the main repo.
2020-12-07Cifuzz external build (#4656)jonathanmetzman
* Support building fuzzers for projects outside of OSS-Fuzz * Use retry wrapper * Fix some tests.
2020-07-09bisector: try older commits if old_commit has the same result as new_commit ↵Oliver Chang
(#4096)
2020-04-28Use base-builder close to commit date. (#3715)Oliver Chang
2020-04-21Bisector: Be a bit smarter about picking which OSS-Fuzz commit to build ↵Oliver Chang
with. (#3665) When the build fails against HEAD OSS-Fuzz, we find the date of the commit for the project, and use the latest revision of OSS-Fuzz before it to rebuild the project builder container. Subsequent runs will use the last built container, and if that fails that will again find the closest revision of OSS-Fuzz. Also factor BaseRepoManager out of RepoManager to provide a generic repo manager class for dealing with existing checkouts (which don't need a clone).
2020-04-15bisector: Don't clean when checking out commits. (#3652)Oliver Chang
2020-04-15Allow bisecting with no old commit. (#3641)Oliver Chang
Fixes #3598.
2020-04-14Bisector fixes. (#3601)Oliver Chang
- Copy /src from host instead of checking out repo on host. This fixes issues with dependencies in the main repo. - Add some more logging.
2020-02-28[Infra] Add git diff to repo manager class (#3427)Leo Neat
This adds the functionality of git diff --name-only to the repo manager module. This functionality will be used for the affected fuzzer feature of CIFuzz. Associated tests have also been added.
2020-02-06[CIFuzz] Fix .strip bug. (#3349)Leo Neat
2020-02-04[Infra] Update execute function in utils.py (#3319)Leo Neat
2020-01-31[cifuzz] - commit and pull request hook functionality (#3310)Leo Neat
2020-01-31Moving execute to utils.py (#3313)Leo Neat
2020-01-29[Infra] CIFuzz pipeline complete. (#3281)Leo Neat
* Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Testing action build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working build * Working fuzzers with out error surface * Working fuzzers with out error surface * Working fuzzers with out error surface * Printing std err * Adding fuzzer timeout * Adding fuzzer timeout * Changing fuzzer timeout to fuzz time * Formatting and refactoring * Spelling in fuzz_target.py * Spelling in fuzz_target.py * Spelling in fuzz_target.py * Upload artifact fix * Upload artifact fix * Upload artifact fix * Upload artifact fix * Upload artifact fix * Upload artifact fix * Upload artifact fix * Refactoring error codes. * reverting helper.py * reverting helper.py * reverting helper.py * chaning method to static * moving cifuzz file * Jonathan changes * Oliver and Jonathan comments * Oliver and Jonathan comments * Oliver and Jonathan comments * Utils unit tests * Test formatting and documentation * Build fuzzer test added * Changed repo manager errors * Unit and integration tests complete * Jonathan comments pt.1 * Jonathan comments pt.1 * Jonathan comments pt.1 * adding cifuzz_test * Build fuzzer test completed * Run fuzzers test finished. * Removed SRC dependency * Jonathan comments pt.2 * Max comments pt.1 * Max comments pt.2 * removing log specified out stream * Max comments pt.3 * Adding OSS_FUZZ_HOME env var * Jonathan comments pt.3 * Formatting * Olivers comments * Jonathan comments
2020-01-06[infra] Fixing bisection to work with more OSS-Fuzz projects (#3152)Leo Neat
* Max comments * Added bisection tests * Added test cases * Docker run command added to build_specific commit * Infer main repo uses docker image rather than docker file * Added mores tests for repo infer * With verbosity * Formatting * Bisection fixed * Formatting updates * Oliver small comments. * Script infer main repo * Detect repo and test module finished * Detect main repo from script * Regex searching * Regex searching * Max comments + bisector test script * Oliver comments * Max's comments * String concat update * Jonathan comments
2019-12-16[infra] Add support for Bisecting Git Commits Introducing Crashes(#3119)Leo Neat