Skip to content

[build] add code coverage report to workflow summary#167

Merged
jaygmsft merged 123 commits intomainfrom
users/v-davidz/add_cov_report
Feb 25, 2026
Merged

[build] add code coverage report to workflow summary#167
jaygmsft merged 123 commits intomainfrom
users/v-davidz/add_cov_report

Conversation

@zimmy87
Copy link
Copy Markdown
Contributor

@zimmy87 zimmy87 commented Feb 11, 2026

No description provided.

zimmy87 and others added 30 commits December 11, 2025 17:24
* Snapshot from main: 12/11/2025, top-level folder name update, and various fixes for actions

* trigger actions on dev
* snapshot from main: 1/5/2026

* various action fixes

* fix setup step in windows action

* update install-symcrypt.ps1

* fix install_symcrypt xtask

* add copyright to install-symcrypt.ps1
* Add toml formatting support

* Force LF line endings for TOML files so taplo works fine on Windows

* Move location of .gitattributes
* snapshot from main: 1/8/26 055aa926e

* Remove symcrypt from SDK completely

* Remove symcrypt from actions

* update taplo.toml
* add stages to precheck xtask

* update actions to use precheck stages
* add audit xtask

* fix audit version number & fmt error

* fix RUSTSEC-2024-0436, deny warnings in audit xtask, and remove unused paste dependencies
* Merge native api

* [BUILD] Remove Native API Build & Test in pipelines

* [feat] ECC KeyGen and one-shot and streaming Sign/Verify native API (#22)

* ECC KeyGen Native API

* ECC Sign/Verify one-shot native API

* ECC Sign/Verify streaming native API

* Moving dispatch to FFI boundary

* Moving key generation to specific modules

* Added HMAC support in napi (#23)

* Added HMAC support in napi

* added HMAC tests

* fixed clippy warning

* Added Key Convertion from HsmGenericSecret key into Aes or Hmac

* [feat] RSA wrapping keypair gen + SHA one-shot + SHA streaming native API (#26)

* RSA key unwrapping key pair generation

* SHA one-shot native api

* SHA streaming native api

* [fix] Fixed HMAC Verify Context (#27)

* Added HMAC support in napi

* added HMAC tests

* fixed clippy warning

* Added Key Convertion from HsmGenericSecret key into Aes or Hmac

* Added HMAC Verify Context

* Validate AES Key Properties  (#28)

* initial key properties check

* Added key prop test cases

* added HsmKeyPropFlags check

* Addressing review comments

* added test to validate token AES key gen

* [feat] HMAC one-shot and streaming native API (#29)

HMAC one-shot and streaming native API

* Ecc key prop validation (#31)

* added key prop validation for ECC

* added rust doc comments

* Fixed clippy warning

---------

Co-authored-by: Rajesh Gali <rajeshgali@microsoft.com>

* Validate RSA properties (#32)

Co-authored-by: Rajesh Gali <rajeshgali@microsoft.com>

* Implement cpp code formatting check/fix via xtask fmt

* Fix clippy errors

* [build] Add cpp code formatting checks (#34)

* Implement cpp code formatting check/fix via xtask fmt

* Fix clippy errors

* Fix audit violation for atty

* Check Generic Secret Key properties (#33)

Co-authored-by: Rajesh Gali <rajeshgali@microsoft.com>

* [feat] Key Unwrap, RSA Encrypt/Decrypt, RSA Sign/Verify Native API (#35)

* Remove audit.toml and fix typo in cargo xtask main

* Fix windows build break

* [build] Cleanup for merge to devi

This commit contains following
1. Delete old api folder
2. Rename napi folder to api
3. Integrate OpenSSL Provider into the build system

* Fix build break

* Disable clang-format in pipeline

* Fix build break in ossl provider

* Implement Key Unmasking for AES, ECC & RSA Keys (#36)

This pull request implements key unmasking functionality for AES, ECC, and RSA keys, allowing keys to be reconstructed from their masked representation. The PR also includes API renaming (RsaAesKeywrap → RsaAesKeyWrap) and removes unused key property functions.

Changes:

Implements key unmasking traits and algorithms for AES, ECC, and RSA keys
Adds masked key parsing infrastructure to extract key properties from masked key blobs
Refactors existing tests and adds comprehensive unmask tests for all key types
Renames algorithm identifier from RsaAesKeywrap to RsaAesKeyWrap across codebase
Removes unused key property flags and methods (PRIVATE, MODIFIABLE, COPYABLE, DESTROYABLE, ALWAYS_SENSITIVE, NEVER_EXTRACTABLE)
Updates check_supported_flags to allow SENSITIVE, EXTRACTABLE, and LOCAL flags universally

* [feat] RSA Sign/Verify Streaming Native API

* [feat] Add key unmasking and property API enhancements (#37)

* [feat] Add key unmasking and property API enhancements

This commit implements key unmasking capabilities for AES, RSA, and ECC
keys, allowing keys to be restored from their masked (encrypted) state.
It also standardizes key property handling and updates the native C API
to support these features.

Key changes:
- Add azihsm_key_unmask() for symmetric keys (AES)
- Add azihsm_key_unmask_pair() for asymmetric key pairs (RSA, ECC)
- Implement unmask operations in algo modules (aes, rsa, ecc)
- Rename azihsm_keypair_unwrap to azihsm_key_unwrap_pair for consistency
- Enhance azihsm_key_get_prop to support all key types
- Refactor shared_types.rs to use zerocopy derives and remove TryFrom impls
- Simplify error handling in masked_key.rs (use return instead of Err?)
- Update key property IDs to match revised documentation
- Add copy_to_key_prop helper for property buffer management
- Add comprehensive tests for key unmasking operations
- Update documentation to reflect new key property IDs

* Fix OSSL Provider

* [refactor] Rename AZIHSM_ERROR to AZIHSM_STATUS

---------

Co-authored-by: Vishal Mhatre <38512878+mhatrevi@users.noreply.github.com>
Co-authored-by: Rajesh Gali <g.rajesh@live.com>
Co-authored-by: Rajesh Gali <rajeshgali@microsoft.com>
Co-authored-by: Vishal Mhatre <vishal.mhatre@gmail.com>
Signed-off-by: Christian Walter <christian.walter@9elements.com>
)

* [feat] Add slice-based API for AES XTS fast path operations

* [feat] Add slice-based API for AES XTS fast path operations

* Addressing PR feedback: Iteration 1
Key Attestation Native API
* Adding copilot-instructions.md

* Resolve copilot PR feedback

* Resolve PR feedback
* install cargo-llvm-cov in setup xtask

* add coverage xtask & enable in actions

* update coverage report location in actions

* fix fmt errors

* merge branch 'dev' into users/v-davidz/add_cargo-llvm-cov & fix windows 'os error 3'

* attempt fix of missing cobertura_sdk.xml artifact on ubuntu

* remove console coverage report, fix exclusion of xtask coverage data, & debug missing coverage artifacts on ubuntu

* fix ./target/report location & remove debug step in actions

* disable code coverage stage in local precheck
* Update copilot instructions

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add check to validate device returned key props

* fixed clippy warning

* updated keybit len in CPP HMAC SH512 test

* Added ECDH Device property checks

* addressing copilot comments

* Addressing review comments

---------

Co-authored-by: Rajesh Gali <rajeshgali@microsoft.com>
* Initial plan

* Update fmt command to use nightly toolchain

Co-authored-by: jaygmsft <22506014+jaygmsft@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jaygmsft <22506014+jaygmsft@users.noreply.github.com>
Co-authored-by: Jayant Gandhi <jayg@microsoft.com>
* Initial plan

* Remove duplicate copyright line from hash_sign_tests.rs

Co-authored-by: jaygmsft <22506014+jaygmsft@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jaygmsft <22506014+jaygmsft@users.noreply.github.com>
* Initial plan

* Add copilot-setup-steps.yml for GitHub Copilot coding agent

Co-authored-by: jaygmsft <22506014+jaygmsft@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jaygmsft <22506014+jaygmsft@users.noreply.github.com>
This commit adds sha1, sha256, sha384 and sha512 dgst operation.

Signed-off-by: Christian Walter <christian.walter@9elements.com>
walterchris and others added 9 commits February 17, 2026 16:57
* fix: CodeQL Fixes

Signed-off-by: Christian Walter <christian.walter@9elements.com>

* feat: add NO_FOLLOW to open

Signed-off-by: Christian Walter <christian.walter@9elements.com>

---------

Signed-off-by: Christian Walter <christian.walter@9elements.com>
@zimmy87 zimmy87 changed the base branch from dev to main February 18, 2026 23:02
@zimmy87 zimmy87 marked this pull request as ready for review February 19, 2026 19:03
@zimmy87 zimmy87 changed the title add code coverage report to workflow summary [build] add code coverage report to workflow summary Feb 19, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an xtask subcommand to generate a Markdown code coverage summary and publishes it into the GitHub Actions workflow summary as part of CI reporting.

Changes:

  • Generate an llvm-cov JSON summary report alongside existing Cobertura/XML and HTML outputs.
  • Add a new xtask coverage-report (and precheck --coverage-report) command to render a Markdown table from the JSON report.
  • Update CI workflow to invoke the new coverage summary step.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
xtask/src/precheck.rs Adds --coverage-report stage and runs it in precheck flow.
xtask/src/main.rs Registers the new CoverageReport subcommand/module.
xtask/src/coverage_report.rs New implementation that reads sdk-cov.json and writes a Markdown summary.
xtask/src/coverage.rs Adds generation of sdk-cov.json via cargo llvm-cov report --json --summary-only.
xtask/Cargo.toml Adds jzon dependency for JSON parsing in xtask.
Cargo.toml Adds workspace version pin for jzon.
.github/workflows/rust.yml Invokes cargo xtask precheck --coverage-report in Ubuntu/Windows jobs.

Comment thread xtask/src/coverage_report.rs
Comment thread xtask/src/coverage_report.rs Outdated
Comment thread xtask/src/coverage_report.rs
Comment thread .github/workflows/rust.yml
Comment thread .github/workflows/rust.yml
@jaygmsft jaygmsft enabled auto-merge (squash) February 25, 2026 03:46
@jaygmsft jaygmsft merged commit 50df49d into main Feb 25, 2026
6 checks passed
@zimmy87 zimmy87 deleted the users/v-davidz/add_cov_report branch February 26, 2026 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants