| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Generates BoringSSL documentation and uploads it to Cloud Storage.""" |
| |
| |
| DEPS = [ |
| 'chromium', |
| 'depot_tools/bot_update', |
| 'depot_tools/gclient', |
| 'depot_tools/gsutil', |
| 'recipe_engine/buildbucket', |
| 'recipe_engine/context', |
| 'recipe_engine/path', |
| 'recipe_engine/properties', |
| 'recipe_engine/python', |
| 'recipe_engine/runtime', |
| 'recipe_engine/step', |
| ] |
| |
| |
| def RunSteps(api): |
| # Sync and pull in everything. |
| api.gclient.set_config('boringssl') |
| api.bot_update.ensure_checkout() |
| api.gclient.runhooks() |
| |
| # Set up paths. |
| util = api.path['checkout'].join('util') |
| go_env = util.join('bot', 'go', 'env.py') |
| output = api.path.mkdtemp('boringssl-docs') |
| |
| # Generate and upload documentation. |
| with api.context(cwd=util): |
| api.python('generate', go_env, ['go', 'run', 'doc.go', '-out', output]) |
| # Upload docs only if run after commit and on not experimental builds. |
| # TODO(tandrii, davidben): remove support for buildbot. |
| if api.buildbucket.build.builder.bucket == 'ci' or not api.runtime.is_luci: |
| if api.runtime.is_experimental: |
| api.step('skipping uploading docs on experimental build', cmd=None) |
| else: |
| api.gsutil(['-m', 'cp', '-a', 'public-read', api.path.join(output, '**'), |
| 'gs://chromium-boringssl-docs/']) |
| |
| |
| def GenTests(api): |
| yield ( |
| api.test('docs') + |
| api.runtime(is_luci=True, is_experimental=False) + |
| api.buildbucket.ci_build( |
| project='boringssl', |
| bucket='ci', |
| builder='docs', |
| git_repo='https://boringssl.googlesource.com/boringssl', |
| ) |
| ) |
| yield ( |
| api.test('docs-experimental') + |
| api.runtime(is_luci=False, is_experimental=True) + |
| api.properties.generic(mastername='client.boringssl', |
| buildername='docs') |
| ) |
| |
| yield ( |
| api.test('docs-try') + |
| api.runtime(is_luci=True, is_experimental=False) + |
| api.buildbucket.try_build( |
| project='boringssl', |
| bucket='try', |
| builder='docs', |
| git_repo='https://boringssl.googlesource.com/boringssl', |
| ) |
| ) |