microsoft/openvmm
Publicmirrored fromhttps://github.com/microsoft/openvmmAvailable
Guide/src/dev_guide/dev_tools/xflowey.md
22lines · modecode
| 1 | # cargo xflowey |
| 2 | |
| 3 | To implement various developer workflows (both locally, as well as in CI), the |
| 4 | OpenVMM project relies on [`flowey`](./flowey/flowey.md): a custom, in-house Rust library/framework |
| 5 | for writing maintainable, cross-platform automation. |
| 6 | |
| 7 | `cargo xflowey` is a cargo alias that makes it easy for developers to run |
| 8 | `flowey`-based pipelines locally. |
| 9 | |
| 10 | Some particularly notable pipelines: |
| 11 | |
| 12 | - `cargo xflowey build-igvm` - primarily dev-tool used to build OpenHCL IGVM files locally |
| 13 | - `cargo xflowey restore-packages` - restores external packages needed to compile and run OpenVMM / OpenHCL |
| 14 | - `cargo xflowey vmm-tests-run` - build and run VMM tests with automatic artifact discovery. Use `--filter "test(name)"` to run specific tests |
| 15 | |
| 16 | ## `xflowey` vs `xtask` |
| 17 | |
| 18 | In a nutshell: |
| 19 | |
| 20 | - `cargo xtask`: implements novel, standalone tools/utilities |
| 21 | - `cargo xflowey`: orchestrates invoking a sequence of tools/utilities, without |
| 22 | doing any non-trivial data processing itself |
| 23 | |