Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Rust Support and Advanced Logger Crate [Rebase & FF] #289

Merged
merged 3 commits into from
Aug 25, 2023

Conversation

makubacki
Copy link
Member

@makubacki makubacki commented Aug 22, 2023

Closes #294

Description

Updates the repo to add some files needed to support Rust builds and a RustAdvancedLoggerDxe library crate.

Because this repo was used to test the Rust build and is adding a new crate in that process, the infrastructure files are added directly in this PR. In the future, these will be synced from mu_devops. The file content aligns with the current templates in mu_devops so there should be no change in the sync process in this repo. Future repos can simply sync the files with the bot accounts and then add the Rust code in a follow up PR.

The ability to build with Rust is temporarily disabled in the last commit of the PR branch because changes in mu_devops need to be completed before the pipeline build in this repo will succeed.

Commit/Change Overview


Add initial Rust infrastructure files

Adds workspace level files to build Rust in the repo.


.azurepipelines: Add Rust build support

Makes the changes needed to build Rust in pipelines on Windows
and Linux.


AdvLoggerPkg: Add RustAdvancedLoggerDxe

Adds a library crate that serves as a Rust wrapper for access to
Advanced Logger protocol.


  • Impacts functionality?
    • Functionality - Does the change ultimately impact how firmware functions?
    • Examples: Add a new library, publish a new PPI, update an algorithm, ...
  • Impacts security?
    • Security - Does the change have a direct security impact on an application,
      flow, or firmware?
    • Examples: Crypto algorithm change, buffer overflow fix, parameter
      validation improvement, ...
  • Breaking change?
    • Breaking change - Will anyone consuming this change experience a break
      in build or boot behavior?
    • Examples: Add a new library class, move a module to a different repo, call
      a function in a new library class in a pre-existing module, ...
  • Includes tests?
    • Tests - Does the change include any explicit test code?
    • Examples: Unit tests, integration tests, robot tests, ...
  • Includes documentation?
    • Documentation - Does the change contain explicit documentation additions
      outside direct code modifications (and comments)?
    • Examples: Update readme file, add feature readme file, link to documentation
      on an a separate Web page, ...

How This Was Tested

Integration Instructions

No changes are needed for mu_plus integrators.

Review general Rust documentation in mu_basecore for more info.

@github-actions github-actions bot added the impact:testing Affects testing label Aug 22, 2023
@makubacki makubacki added type:enhancement New feature or pull request type:feature-request A new feature proposal and removed impact:testing Affects testing labels Aug 22, 2023
@github-actions github-actions bot added the impact:testing Affects testing label Aug 24, 2023
@makubacki makubacki self-assigned this Aug 24, 2023
Cargo.lock Outdated Show resolved Hide resolved
Adds workspace level files to build Rust in the repo.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Makes the changes needed to build Rust in pipelines on Windows
and Linux.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Adds a library crate that serves as a Rust wrapper for access to
the Advanced Logger protocol.

Co-authored-by: John Schock <joschock@microsoft.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
@makubacki makubacki merged commit 8f37c52 into release/202302 Aug 25, 2023
30 checks passed
@makubacki makubacki deleted the add_rust_build_support branch August 25, 2023 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:testing Affects testing type:enhancement New feature or pull request type:feature-request A new feature proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: Integrate Rust build support with library crate
4 participants