| DEPS = [ |
| 'recipe_engine/context', |
| 'recipe_engine/path', |
| 'recipe_engine/properties', |
| 'recipe_engine/step', |
| ] |
| |
| |
| def RunSteps(api): |
| revision = api.properties['revision'] |
| |
| # Are we in a trybot? If so, retrieve issue, patchset, etc. |
| is_trybot = False |
| issue = None |
| patch_set = None |
| buildbucket_build_id = None |
| # pylint: disable=too-many-boolean-expressions |
| if (api.properties.get('patch_issue', '0') != '0' and |
| api.properties.get('patch_set', '0') != '0' and |
| api.properties.get('revision', '0') != '0' and |
| api.properties.get('buildbucket_build_id', '0') != '0'): |
| is_trybot = True |
| issue = api.properties['patch_issue'] |
| patch_set = api.properties['patch_set'] |
| buildbucket_build_id = api.properties['buildbucket_build_id'] |
| |
| # Hack start_dir to remove the "k" directory which is added by Kitchen. |
| # Otherwise, we can't get to the CIPD packages, caches, and isolates which |
| # were put into the task workdir. |
| if api.path.c.base_paths['start_dir'][-1] == 'k': # pragma: nocover |
| api.path.c.base_paths['start_dir'] = api.path.c.base_paths['start_dir'][:-1] |
| |
| # Run Puppeteer tests inside a Docker container. |
| buildbot_dir = api.path['start_dir'].join('buildbot') |
| with api.context(cwd=buildbot_dir, |
| env={'DOCKER_CONFIG': '/home/chrome-bot/.docker'}): |
| api.step('run puppeteer tests', cmd=['make', 'puppeteer-tests']) |
| |
| # Upload any digests produced by Puppeteer tests to Gold. |
| with api.context(cwd=buildbot_dir.join('puppeteer-tests')): |
| upload_digests_cmd = [ |
| 'python3', |
| 'upload-screenshots-to-gold.py', |
| '--images_dir', './output', |
| # This is [START_DIR]/cipd_bin_packages/goldctl. |
| '--path_to_goldctl', '../../cipd_bin_packages/goldctl', |
| '--revision', revision, |
| ] |
| if is_trybot: |
| api.step('upload digests (tryjob)', |
| upload_digests_cmd + ['--issue', issue, |
| '--patch_set', patch_set, |
| '--task_id', buildbucket_build_id]) |
| else: |
| api.step('upload digests (non-tryjob)', upload_digests_cmd) |
| |
| |
| def GenTests(api): |
| yield ( |
| api.test('Infra-PerCommit-Puppeteer') + |
| api.properties(revision='78e0b810cc3adc002a09c5190bb104afdcbbe3e1') |
| ) |
| |
| yield ( |
| api.test('Infra-PerCommit-Puppeteer_tryjob') + |
| api.properties(patch_issue='123456', |
| patch_set='3', |
| revision='78e0b810cc3adc002a09c5190bb104afdcbbe3e1', |
| buildbucket_build_id='8894409419339087024') |
| ) |
| |