microsoft/openvmm
Publicmirrored from https://github.com/microsoft/openvmmAvailable
Guide/src/dev_guide/dev_tools/xflowey.md
22lines · modeblame
3fb1f627Daniel Prilik1 years ago | 1 | # cargo xflowey |
| 2 | | |
| 3 | To implement various developer workflows (both locally, as well as in CI), the | |
1b651d52Daman Mulye8 months ago | 4 | OpenVMM project relies on [`flowey`](./flowey/flowey.md): a custom, in-house Rust library/framework |
3fb1f627Daniel Prilik1 years ago | 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 | |
2d321ee3Chris Oo3 months ago | 14 | - `cargo xflowey vmm-tests-run` - build and run VMM tests with automatic artifact discovery. Use `--filter "test(name)"` to run specific tests |
3fb1f627Daniel Prilik1 years ago | 15 | |
1b651d52Daman Mulye8 months ago | 16 | ## `xflowey` vs `xtask` |
3fb1f627Daniel Prilik1 years ago | 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 |