|
1 | 1 | # Edk2 Continuous Integration
|
2 | 2 |
|
| 3 | +This file focuses on information for those working with the `.pytools` directory |
| 4 | +directly or interested in lower-level details about how CI works. |
| 5 | + |
| 6 | +If you just want to get started building code, visit |
| 7 | +[Build Instructions](https://github.com/tianocore/tianocore.github.io/wiki/Build-Instruction) |
| 8 | +on the TianoCore wiki. |
| 9 | + |
3 | 10 | ## Basic Status
|
4 | 11 |
|
5 | 12 | | Package | Windows VS2019 (IA32/X64)| Ubuntu GCC (IA32/X64/ARM/AARCH64) | Known Issues |
|
@@ -82,43 +89,18 @@ easily and consistently running locally and in a cloud ci environment. To do
|
82 | 89 | that a few steps should be followed. Details of EDKII Tools can be found in the
|
83 | 90 | [docs folder here](https://github.com/tianocore/edk2-pytool-extensions/tree/master/docs)
|
84 | 91 |
|
85 |
| -### Prerequisites |
86 |
| - |
87 |
| -1. A supported toolchain (others might work but this is what is tested and validated) |
88 |
| - * Windows 10: |
89 |
| - * VS 2017 or VS 2019 |
90 |
| - * Windows SDK (for rc) |
91 |
| - * Windows WDK (for capsules) |
92 |
| - * Ubuntu 18.04 or Fedora |
93 |
| - * GCC5 |
94 |
| - * Easy to add more but this is the current state |
95 |
| -2. Python 3.7.x or newer on path |
96 |
| -3. git on path |
97 |
| -4. Recommended to setup and activate a python virtual environment |
98 |
| -5. Install the requirements `pip install --upgrade -r pip-requirements.txt` |
99 |
| - |
100 | 92 | ### Running CI
|
101 | 93 |
|
102 |
| -1. clone your edk2 repo |
103 |
| -2. Activate your python virtual environment in cmd window |
104 |
| -3. Get code dependencies (done only when submodules change) |
105 |
| - * `stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=<your tag here>` |
106 |
| -4. Update other dependencies (done more often) |
107 |
| - * `stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=<your tag here>` |
108 |
| -5. Run CI build (--help will give you options) |
109 |
| - * `stuart_ci_build -c .pytool/CISettings.py TOOL_CHAIN_TAG=<your tag here>` |
110 |
| - * -p <pkg1,pkg2,pkg3> : To build only certain packages use a CSV list |
111 |
| - * -a <arch1,arch2,arch3>: To run only certain architectures use a CSV list |
112 |
| - * -t <target1,target2>: To run only tests related to certain targets use a |
113 |
| - CSV list |
114 |
| - * By default all tests are opted in. Then given a package.ci.yaml file those |
115 |
| - tests can be configured for a package. Finally setting the check to the |
116 |
| - value `skip` will skip that plugin. Examples: |
117 |
| - * `CompilerPlugin=skip` skip the build test |
118 |
| - * `GuidCheck=skip` skip the Guid check |
119 |
| - * `SpellCheck=skip` skip the spell checker |
120 |
| - * etc |
121 |
| -6. Detailed reports and logs per package are captured in the `Build` directory |
| 94 | +Quick notes: |
| 95 | + |
| 96 | +* By default all CI plugins are opted in. |
| 97 | + * Setting the plugin to `skip` as an argument will skip running the plugin. |
| 98 | + Examples: |
| 99 | + * `CompilerPlugin=skip` skip the build test |
| 100 | + * `GuidCheck=skip` skip the Guid check |
| 101 | + * `SpellCheck=skip` skip the spell checker |
| 102 | + * etc. |
| 103 | +* Detailed reports and logs per package are captured in the `Build` directory. |
122 | 104 |
|
123 | 105 | ## Current PyTool Test Capabilities
|
124 | 106 |
|
|
0 commit comments