--- name: e2e-to-bazel description: >- Converts end-to-end (e2e) test targets or paths to `bazel run` commands for `heir-opt`. Use when you need to convert an e2e test target (where flags are defined in the BUILD file) to a shell command whose flags can be modified for further analysis and debugging. --- # E2E To Bazel ## Overview This skill guides the agent in using the `e2e_to_bazel` tool to convert e2e test targets or paths to executable commands. ## Usage ### Converting a Test Target or Path To convert an e2e test target, directory, or source file to a `bazel run` command, use the following command recipes: ```bash bazel run //third_party/heir/scripts:e2e_to_bazel -- {target_or_path} ``` Replace `{target_or_path}` with the test target (e.g., `//tests/Examples/lattigo/ckks/mnist:mnist_test`), directory, or source file path. ## Gotchas - **Blaze Query Dependency**: The tool relies on `bazel query` to extract attributes. This requires a working `blaze` environment and may be slow for the first run. - **Workspace State**: It requires that the workspace is in a state where `bazel query` can evaluate the targets. - **Source file mapping**: If a source file is provided, it searches for `heir_opt` targets that depend on it. ```markdown Copy this checklist and track progress: - [ ] Step 1: Identify the e2e test target, directory, or file to convert. - [ ] Step 2: Run the `e2e_to_bazel` tool on it. - [ ] Step 3: Inspect the generated command or run it. - [ ] Step 4: Verify execution results. ```