Skip to content

Move md_get_pdb_id to dnmd_pdb.h and reduce CI matrix#70

Merged
AaronRobinsonMSFT merged 2 commits intomasterfrom
dev/arobins/move-pdb-id-api
Mar 12, 2026
Merged

Move md_get_pdb_id to dnmd_pdb.h and reduce CI matrix#70
AaronRobinsonMSFT merged 2 commits intomasterfrom
dev/arobins/move-pdb-id-api

Conversation

@AaronRobinsonMSFT
Copy link
Owner

Changes

Move md_get_pdb_id to dnmd_pdb.h and fix size query pattern

  • Move the md_get_pdb_id declaration from dnmd.h to dnmd_pdb.h where it belongs alongside other Portable PDB APIs.
  • Fix the implementation to always write back the required buffer size before checking if the caller's buffer is large enough, enabling callers to query the needed size with a too-small buffer.

Reduce CI matrix to sparse configuration

Replace the full 12-leg matrix (3 OS × 2 flavors × 2 vendored) with a sparse 8-leg matrix to reduce CI costs while maintaining coverage:

  • Ubuntu: Debug and Release, both vendored modes (4 legs)
  • macOS: Debug vendored, Release non-vendored (2 legs)
  • Windows: Release vendored, Debug non-vendored (2 legs)
  • Sanitizers: unchanged (Ubuntu Debug)

AaronRobinsonMSFT and others added 2 commits March 12, 2026 12:46
Move the md_get_pdb_id declaration from dnmd.h to dnmd_pdb.h where
it belongs alongside other Portable PDB APIs.

Fix the implementation to always write back the required buffer size
before checking if the caller's buffer is large enough, enabling
callers to query the needed size with a too-small buffer.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the full 12-leg matrix (3 OS × 2 flavors × 2 vendored) with
a sparse 8-leg matrix to reduce CI costs while maintaining coverage:
- Ubuntu: Debug and Release, both vendored modes (4 legs)
- macOS: Debug vendored, Release non-vendored (2 legs)
- Windows: Release vendored, Debug non-vendored (2 legs)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
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

This PR refactors the public Portable PDB API surface by relocating md_get_pdb_id into the Portable PDB header, updates md_get_pdb_id to support “size query” usage by always writing back the required length, and reduces the GitHub Actions build matrix to a smaller set of representative configurations.

Changes:

  • Move the md_get_pdb_id declaration from dnmd.h to dnmd_pdb.h.
  • Update md_get_pdb_id to write the required *pdb_id_len before rejecting an undersized buffer.
  • Reduce CI build matrix legs using an explicit matrix.include list.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
src/inc/dnmd_pdb.h Adds the md_get_pdb_id declaration alongside other Portable PDB APIs.
src/inc/dnmd.h Removes the md_get_pdb_id declaration from the core public header.
src/dnmd/entry.c Adjusts md_get_pdb_id to support size-query semantics (but currently needs a safety fix).
.github/workflows/main.yml Switches to a sparse CI matrix to reduce total jobs while keeping coverage.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@AaronRobinsonMSFT AaronRobinsonMSFT merged commit 51ebc20 into master Mar 12, 2026
13 checks passed
@AaronRobinsonMSFT AaronRobinsonMSFT deleted the dev/arobins/move-pdb-id-api branch March 12, 2026 20:05
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.

2 participants