aboutsummaryrefslogtreecommitdiff
path: root/infra/build/functions/base_images.py
AgeCommit message (Collapse)Author
2021-09-16Tag all base images with :v1. (#6436)Oliver Chang
To guard against major/breaking image migrations in the future. Part of #6324.
2021-09-01[language builders] Get rid of base-builder-new (#6361)jonathanmetzman
Build all C/C++ projects in an image without rust, java, atheris (python), or go.
2021-08-30[infra][rust] Split out rust projects to their own builder image (#6352)jonathanmetzman
2021-08-30[infra][python] Split out python projects to their own builder. (#6341)jonathanmetzman
2021-08-30[go][infra] Create base-builder-go and use it to build go projects. (#6335)jonathanmetzman
Also, update base-builder-new to copy everything base-builder does
2021-08-30[infra][jvm] Split out JVM projects to their own builder. (#6336)jonathanmetzman
2021-08-25[build][infra] Improve build functions. (#6296)jonathanmetzman
Important functional changes involve mostly improvements to the command line scripts (this doesn't affect the build infra, only local use): 1. Make sure scripts use the same builder as builds requested by infra, otherwise builds will be very slow and will fail for larger projects. 2. Allow users to specify --test-images to use base images with suffix "-testing" 3. Allow script users to specify --parallel for parallel builds. 4. Allow script users to specify --testing so that builds are uploaded to testing buckets. 5. Allow script users to specify --branch so that builds use specified branch instead of master. 6. Clone oss-fuzz with depth 1 for improved speed and space usage. 7. Use logging instead of writing to stderr or print. 8. Allow scripts to accept multiple projects. 9. Allow script to keep executing after failure to get build steps. 10. Change scripts to use python3. 11. Tag more so builds are easier to query. 12. Log the gcb page for each build. Other changes include major refactoring: 1. Don't construct image names from scratch using format strings each time they are used. Provide a helper function for this. 2. Provide a helper function, get_env instead of constructing the env from scratch each time. 3. Move compile step into its own function: get_compile_step. 4. Move upload steps into their own helper function get_upload_steps. 5. Don't misuse the name image_project when we really mean cloud project. 6. Move cleanup step into its own helper function: get_cleanup_step. 7. Exit with returncode of main function from build_project. 8. Add unittests for build_project. 9. Make request_build share run_build code with build_project. 10. Use proper spacing in comments. 11. Test builds other than libfuzzer-ASAN-x86_64. Test other sanitizers, fuzzers and architectures 12. Make build_and_run_coverage share more code with build_project. 13. Move tests for build_and_run_coverage_test.py out of requst_coverage_test.py into their own file. 14. Use single quotes for strings. 15. Store state for a build in Build object instead of passing it everywhere. 16. Don't abuse project_yaml dict for storing project state. Use a Project object instead. 17. Better variable naming. 18. Use more classes instead of passing around arguments. 19. Use more f-strings. 20. Make scripts share main function. 21. Begin comments with uppercase and end with period. 22. Don't import functions or classes as dictated by style guide. 23. Share more test code in test_utils Related: #6180.
2021-08-25[Ubuntu upgrade] Remove support for prebuilt MSAN libraries. (#6280)jonathanmetzman
This is done in anticipation of the upgrade to Ubuntu 20.04 which wont support this. We'll do this first so we can handle any breakages caused by this step before needing to handle breakages caused by the upgrade. However, there shouldn't be any breakages due to #6281, but there may be some projects we overlooked. The only exception to this is libcxx. Related: #6180.
2021-08-20New base builder without lang specific installation + swift base (#5986)asraa
Removes unnecessary stuff in base-builder image to create a base-builder-new, and then adds a base-builder-swift on top of this that swift projects can use (without JVM/Go/etc fuzzing).
2021-08-10[infra][build] Switch to f-strings. (#6182)jonathanmetzman
2020-08-06More build infra cleanup. (#4252)Oliver Chang
- Deleted unused code. - Consolidate some modules.
2020-07-31Fix a typo from previous MSan function addition. (#4241)Oliver Chang
2020-07-31Adding msan builder to gcp (#4234)kabeer27
* Adding msan builder to gcp * Formatting changes * Refactoring and reducing redundancy * Moving msan builder entry point into base_images
2020-07-29Many build infra fixes. (#4209)Oliver Chang
- Remove base image project argument from deploy.sh. Deploy all functions to the main oss-fuzz image. - Reduce max instances of functions to 1 to avoid rate limiting issues. - Fix missing ndb context initialization in request_build.py - Fix incorrect tags in BuildHistory entities. "-" was doubled. - Fix base build deployment with incorrect schedule variable. - Add scripts for requesting builds locally.
2020-07-16Refactoring and request build cloud function (#4120)kabeer27
Co-authored-by: Kabeer Seth <kabeerseth@google.com>