Skip to content

Latest commit

 

History

History
61 lines (44 loc) · 2.7 KB

File metadata and controls

61 lines (44 loc) · 2.7 KB

Project Mu Crypto Release

Continuous Integration Host-Based Unit Tests OpenSSL Mbed TLS

This repository hosts the cryptographic library packages for Project Mu. It decomposes the monolithic CryptoPkg into independent, backend-specific packages so that each crypto implementation can be built, tested, and maintained separately.

Repository Structure

Package Description
OpensslPkg BaseCryptLib, OpensslLib, TlsLib, and supporting headers backed by OpenSSL.
MbedTlsPkg BaseCryptLib, MbedTlsLib, and supporting headers backed by Mbed TLS.

Setup

# One-time setup
git submodule update --init --recursive
pip install -r pip-requirements.txt

# Packages: (OpensslPkg or MbedTlsPkg)
stuart_setup    -c .pytool/CISettings.py -p <Pkg>
stuart_ci_setup -c .pytool/CISettings.py -p <Pkg> # Only required for CI
stuart_update   -c .pytool/CISettings.py -p <Pkg>

CI Building

# CI Targets: (DEBUG, RELEASE, NO-TARGET)
stuart_ci_build -c .pytool/CISettings.py -p <Pkg> -t DEBUG TOOL_CHAIN_TAG=CLANGPDB
stuart_ci_build -c .pytool/CISettings.py -p <Pkg> -t RELEASE TOOL_CHAIN_TAG=CLANGPDB

Host-Based Unit Tests

# Run host-based unit tests locally with GCC5

# Packages: (OpensslPkg, MbedTlsPkg)
stuart_ci_build -c .pytool/CISettings.py -p <Pkg> -t NOOPT -d HostUnitTestCompilerPlugin=run TOOL_CHAIN_TAG=GCC5

Note: MbedTlsPkg host-based tests are currently disabled due to known test failures. See the TODO in host-based-test-runner.yml for details.

Contributing

Contributions are welcome. Please see CONTRIBUTING.md for guidelines.

License

This project is licensed under the BSD-2-Clause-Patent license. See the License.txt file for details.