Loading taskcluster/ci/source-test/taskgraph.yml +2 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ diff: cwd: '{checkout}' command: >- mkdir -p /builds/worker/artifacts/diffs && ./mach taskgraph target --fast -p "taskcluster/test/params" -o "/builds/worker/artifacts/diffs/diff.txt" --diff {base_rev} ./mach taskgraph target --fast -p "taskcluster/test/params" -o "/builds/worker/artifacts/diffs/diff.txt" --diff {base_rev} && python taskcluster/scripts/misc/summarize-tgdiff.py /builds/worker/artifacts/diffs/ 20 when: files-changed: - 'taskcluster/ci/**' Loading taskcluster/scripts/misc/summarize-tgdiff.py 0 → 100644 +45 −0 Original line number Diff line number Diff line # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. import argparse import json import pathlib def run(): parser = argparse.ArgumentParser( description="Classify output of taskgraph for CI analsyis" ) parser.add_argument( "path", type=pathlib.Path, help="Folder containing all the TXT files from taskgraph target.", ) parser.add_argument( "threshold", type=int, help="Minimum number of lines to trigger a warning on taskgraph output.", ) args = parser.parse_args() out = {"files": {}, "status": "OK", "threshold": args.threshold} for path in args.path.glob("*.txt"): with path.open() as f: nb = len(list(filter(None, f.readlines()))) out["files"][path.stem] = { "nb": nb, "status": "WARNING" if nb >= args.threshold else "OK", } if nb >= args.threshold: out["status"] = "WARNING" (args.path / "summary.json").write_text(json.dumps(out, sort_keys=True, indent=4)) if __name__ == "__main__": run() Loading
taskcluster/ci/source-test/taskgraph.yml +2 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ diff: cwd: '{checkout}' command: >- mkdir -p /builds/worker/artifacts/diffs && ./mach taskgraph target --fast -p "taskcluster/test/params" -o "/builds/worker/artifacts/diffs/diff.txt" --diff {base_rev} ./mach taskgraph target --fast -p "taskcluster/test/params" -o "/builds/worker/artifacts/diffs/diff.txt" --diff {base_rev} && python taskcluster/scripts/misc/summarize-tgdiff.py /builds/worker/artifacts/diffs/ 20 when: files-changed: - 'taskcluster/ci/**' Loading
taskcluster/scripts/misc/summarize-tgdiff.py 0 → 100644 +45 −0 Original line number Diff line number Diff line # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. import argparse import json import pathlib def run(): parser = argparse.ArgumentParser( description="Classify output of taskgraph for CI analsyis" ) parser.add_argument( "path", type=pathlib.Path, help="Folder containing all the TXT files from taskgraph target.", ) parser.add_argument( "threshold", type=int, help="Minimum number of lines to trigger a warning on taskgraph output.", ) args = parser.parse_args() out = {"files": {}, "status": "OK", "threshold": args.threshold} for path in args.path.glob("*.txt"): with path.open() as f: nb = len(list(filter(None, f.readlines()))) out["files"][path.stem] = { "nb": nb, "status": "WARNING" if nb >= args.threshold else "OK", } if nb >= args.threshold: out["status"] = "WARNING" (args.path / "summary.json").write_text(json.dumps(out, sort_keys=True, indent=4)) if __name__ == "__main__": run()