Skip to content

Commit 9c8c181

Browse files
authored
bot: Split workflow in several hooks (#165)
1 parent b1d1af9 commit 9c8c181

File tree

15 files changed

+534
-380
lines changed

15 files changed

+534
-380
lines changed

.taskcluster.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,8 +427,9 @@ tasks:
427427
- "git clone --quiet ${repository} &&
428428
cd code-coverage &&
429429
git checkout ${head_rev} &&
430-
sed -i -e 's/CHANNEL/${channel}/g' -e 's/REVISION/${head_rev}/g' bot/taskcluster-hook.json &&
431-
taskboot --target . build-hook bot/taskcluster-hook.json project-relman code-coverage-${channel}"
430+
sed -i -e 's/CHANNEL/${channel}/g' -e 's/REVISION/${head_rev}/g' bot/taskcluster-hook-*.json &&
431+
taskboot --target . build-hook bot/taskcluster-hook-repo.json project-relman code-coverage-repo-${channel} &&
432+
taskboot --target . build-hook bot/taskcluster-hook-cron.json project-relman code-coverage-cron-${channel}"
432433
metadata:
433434
name: "Code Coverage Bot hook update (${channel})"
434435
description: Update Taskcluster hook triggering the code-coverage tasks

bot/code_coverage_bot/artifacts.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ def download_all(self):
140140
[
141141
taskcluster.get_task_details(build_task_id)["taskGroupId"]
142142
for build_task_id in self.task_ids.values()
143+
if build_task_id is not None
143144
]
144145
)
145146
test_tasks = [

bot/code_coverage_bot/cli.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@
77
import os
88

99
from code_coverage_bot import config
10-
from code_coverage_bot.codecov import CodeCov
1110
from code_coverage_bot.secrets import secrets
1211
from code_coverage_bot.taskcluster import taskcluster_config
1312
from code_coverage_tools.log import init_logger
1413

1514

16-
def parse_cli():
15+
def setup_cli(ask_repository=True, ask_revision=True):
1716
"""
18-
Setup CLI options parser
17+
Setup CLI options parser and taskcluster bootstrap
1918
"""
2019
parser = argparse.ArgumentParser(description="Mozilla Code Coverage Bot")
21-
parser.add_argument("--repository", default=os.environ.get("REPOSITORY"))
22-
parser.add_argument("--revision", default=os.environ.get("REVISION"))
20+
if ask_repository:
21+
parser.add_argument("--repository", default=os.environ.get("REPOSITORY"))
22+
if ask_revision:
23+
parser.add_argument("--revision", default=os.environ.get("REVISION"))
2324
parser.add_argument(
2425
"--cache-root", required=True, help="Cache root, used to pull changesets"
2526
)
@@ -35,11 +36,7 @@ def parse_cli():
3536
)
3637
parser.add_argument("--taskcluster-client-id", help="Taskcluster Client ID")
3738
parser.add_argument("--taskcluster-access-token", help="Taskcluster Access token")
38-
return parser.parse_args()
39-
40-
41-
def main():
42-
args = parse_cli()
39+
args = parser.parse_args()
4340

4441
# Auth on Taskcluster
4542
taskcluster_config.auth(args.taskcluster_client_id, args.taskcluster_access_token)
@@ -55,9 +52,4 @@ def main():
5552
sentry_dsn=secrets.get("SENTRY_DSN"),
5653
)
5754

58-
c = CodeCov(args.repository, args.revision, args.task_name_filter, args.cache_root)
59-
c.go()
60-
61-
62-
if __name__ == "__main__":
63-
main()
55+
return args

bot/code_coverage_bot/codecov.py

Lines changed: 0 additions & 303 deletions
This file was deleted.

bot/code_coverage_bot/config.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@
44
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
55

66
PROJECT_NAME = "code-coverage-bot"
7+
HG_BASE = "https://hg.mozilla.org/"
8+
MOZILLA_CENTRAL_REPOSITORY = "{}mozilla-central".format(HG_BASE)
9+
TRY_REPOSITORY = "{}try".format(HG_BASE)

bot/code_coverage_bot/hgmo.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ def __init__(self, repo_dir=None, server_address=None):
2222
else:
2323
self.server_address = HGMO.SERVER_ADDRESS
2424
self.repo_dir = repo_dir
25+
logger.info(
26+
"Configured HGMO server", address=self.server_address, dir=self.repo_dir
27+
)
2528
self.pid_file = os.path.join(os.getcwd(), HGMO.PID_FILE)
2629

2730
def __get_pid(self):

bot/code_coverage_bot/hooks/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)