diff --git a/.github/workflows/apk.yml b/.github/workflows/apk.yml index 12eddd38..01de5305 100644 --- a/.github/workflows/apk.yml +++ b/.github/workflows/apk.yml @@ -142,8 +142,8 @@ jobs: - name: Load trace cases id: trace-cases run: | - echo "android=$(python3 tools/trace_replay/trace_cases.py --format github-apk)" >> "$GITHUB_OUTPUT" - echo "names=$(python3 tools/trace_replay/trace_cases.py --format names)" >> "$GITHUB_OUTPUT" + echo "android=$(python3 tools/trace_replay/trace_cases.py --ci --format github-apk)" >> "$GITHUB_OUTPUT" + echo "names=$(python3 tools/trace_replay/trace_cases.py --ci --format names)" >> "$GITHUB_OUTPUT" trace-fixtures: name: trace fixture (${{ matrix.case }}) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 958a6626..ddc46652 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -346,7 +346,7 @@ jobs: - name: Load trace cases id: trace-cases - run: echo "names=$(python3 tools/trace_replay/trace_cases.py --format names)" >> "$GITHUB_OUTPUT" + run: echo "names=$(python3 tools/trace_replay/trace_cases.py --ci --format names)" >> "$GITHUB_OUTPUT" trace-fixtures: name: trace fixture (${{ matrix.case }}) diff --git a/tools/trace_replay/trace_cases.json b/tools/trace_replay/trace_cases.json index 127a5e3e..a7bb2c19 100644 --- a/tools/trace_replay/trace_cases.json +++ b/tools/trace_replay/trace_cases.json @@ -55,6 +55,7 @@ }, { "name": "minecraft-26.2-main-menu", + "ci": false, "trace_archive": "minecraft-26.2-main-menu.tgz", "golden": "minecraft-26.2-main-menu.0000101926.png", "target_call": 101926, @@ -62,6 +63,7 @@ }, { "name": "minecraft-26.2-in-world", + "ci": false, "trace_archive": "minecraft-26.2-in-world.tgz", "golden": "minecraft-26.2-in-world.0000519370.png", "target_call": 519370 diff --git a/tools/trace_replay/trace_cases.py b/tools/trace_replay/trace_cases.py index af4b79ba..e30699a2 100644 --- a/tools/trace_replay/trace_cases.py +++ b/tools/trace_replay/trace_cases.py @@ -67,6 +67,10 @@ def github_apk_case(case): return result +def ci_trace_cases(cases): + return [case for case in cases if case.get("ci", True)] + + def cmake_quote(value): return '"' + str(value).replace("\\", "/").replace('"', '\\"') + '"' @@ -105,6 +109,7 @@ def emit_cmake(cases, fixture_root): def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("--case", dest="case_name", help="Trace case name.") + parser.add_argument("--ci", action="store_true", help="Only include cases enabled for CI.") parser.add_argument("--fixture-root", default="tools/trace_replay/fixtures") parser.add_argument( "--format", @@ -117,6 +122,8 @@ def parse_args(): def main(): args = parse_args() cases = load_trace_cases() + if args.ci: + cases = ci_trace_cases(cases) if args.format == "names": print(json.dumps([case["name"] for case in cases], separators=(",", ":"))) elif args.format == "github-apk":