diff options
Diffstat (limited to 'infra/build')
-rw-r--r-- | infra/build/functions/build_and_run_coverage.py | 2 | ||||
-rw-r--r-- | infra/build/functions/requirements.txt | 2 | ||||
-rw-r--r-- | infra/build/functions/update_build_status.py | 15 |
3 files changed, 13 insertions, 6 deletions
diff --git a/infra/build/functions/build_and_run_coverage.py b/infra/build/functions/build_and_run_coverage.py index 71d7338f9..cc2de5a32 100644 --- a/infra/build/functions/build_and_run_coverage.py +++ b/infra/build/functions/build_and_run_coverage.py @@ -48,7 +48,7 @@ LATEST_REPORT_INFO_CONTENT_TYPE = 'application/json' UPLOAD_URL_FORMAT = 'gs://' + COVERAGE_BUCKET_NAME + '/{project}/{type}/{date}' # Languages from project.yaml that have code coverage support. -LANGUAGES_WITH_COVERAGE_SUPPORT = ['c', 'c++', 'go'] +LANGUAGES_WITH_COVERAGE_SUPPORT = ['c', 'c++', 'go', 'rust'] def usage(): diff --git a/infra/build/functions/requirements.txt b/infra/build/functions/requirements.txt index 8d07d82ff..a60a03283 100644 --- a/infra/build/functions/requirements.txt +++ b/infra/build/functions/requirements.txt @@ -16,7 +16,7 @@ Brotli==1.0.9 hiredis==1.1.0 -PyYaml==5.2 +PyYaml==5.4 PyGithub==1.51 grpcio==1.29.0 google-auth==1.21.1 diff --git a/infra/build/functions/update_build_status.py b/infra/build/functions/update_build_status.py index b5f955227..af65a41ab 100644 --- a/infra/build/functions/update_build_status.py +++ b/infra/build/functions/update_build_status.py @@ -195,7 +195,10 @@ def update_build_badges(project, last_build_successful, last_coverage_build_successful): """Upload badges of given project.""" badge = 'building' - if not last_coverage_build_successful: + # last_coverage_build_successful is False if there was an unsuccessful build + # and None if the target does not support coverage (e.g. Python or Java + # targets). + if last_coverage_build_successful is False: badge = 'coverage_failing' if not last_build_successful: badge = 'failing' @@ -289,12 +292,16 @@ def update_badges(): futures = [] with ndb.Client().context(): for project in Project.query(): - if (project.name not in project_build_statuses or - project.name not in coverage_build_statuses): + if project.name not in project_build_statuses: continue + # Certain projects (e.g. JVM and Python) do not have any coverage + # builds, but should still receive a badge. + coverage_build_status = None + if project.name in coverage_build_statuses: + coverage_build_status = coverage_build_statuses[project.name] futures.append( executor.submit(update_build_badges, project.name, project_build_statuses[project.name], - coverage_build_statuses[project.name])) + coverage_build_status)) concurrent.futures.wait(futures) |