Skip to content

Adding a new network header with associated unit tests #506

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

Merged
merged 33 commits into from
Jun 10, 2025

Conversation

keith-horton
Copy link
Member

Adding a new network header with associated unit tests.

@keith-horton
Copy link
Member Author

@dunhor FYI: I started over with a new topic branch --> new PR. And now I'm no longer getting clang-format problems, and the winrt COM tests are passing :)

@dunhor
Copy link
Member

dunhor commented Feb 26, 2025

@dunhor FYI: I started over with a new topic branch --> new PR. And now I'm no longer getting clang-format problems, and the winrt COM tests are passing :)

Sorry for the delayed response; been busy with a bunch of other things at the moment.

Regarding clang-format, I took a brief look at your other PR and it looks like you ran clang-format on all files & committed the result. This can have some unintended side effects because different versions of clang-format will format code differently. It's a little unfortunate, but it's not something we have much control over. To help alleviate pains here, we do two things. First, we prefer to use the version of clang-format that ships with Visual Studio for consistency across developers. The second is that the CI machines leverage git clang-format to check to see if the change is formatted correctly. This is all described in the readme. The simplest thing to do is to run git clang-format yourself for formatting changes. If that's not feasible (e.g. you don't have LLVM installed), you'll have to do a bit more manual labor to ensure you only commit changes you made. Even with all this, it may still not be perfect if the version of Visual Studio on the CI machine isn't quite up to date. This is fine - we can ignore the formatting failure so long as the code is reasonably formatted.

Regarding the COM tests, it's been failing for a while, but typically passes after one (or two) re-runs. It's on my TODO list for when I get the time to dig into it. Hopefully this can be fixed with something as simple as a detour to make it more deterministic.

@keith-horton
Copy link
Member Author

@dunhor FYI: I started over with a new topic branch --> new PR. And now I'm no longer getting clang-format problems, and the winrt COM tests are passing :)

Sorry for the delayed response; been busy with a bunch of other things at the moment.

Regarding clang-format, I took a brief look at your other PR and it looks like you ran clang-format on all files & committed the result. This can have some unintended side effects because different versions of clang-format will format code differently. It's a little unfortunate, but it's not something we have much control over. To help alleviate pains here, we do two things. First, we prefer to use the version of clang-format that ships with Visual Studio for consistency across developers. The second is that the CI machines leverage git clang-format to check to see if the change is formatted correctly. This is all described in the readme. The simplest thing to do is to run git clang-format yourself for formatting changes. If that's not feasible (e.g. you don't have LLVM installed), you'll have to do a bit more manual labor to ensure you only commit changes you made. Even with all this, it may still not be perfect if the version of Visual Studio on the CI machine isn't quite up to date. This is fine - we can ignore the formatting failure so long as the code is reasonably formatted.

Regarding the COM tests, it's been failing for a while, but typically passes after one (or two) re-runs. It's on my TODO list for when I get the time to dig into it. Hopefully this can be fixed with something as simple as a detour to make it more deterministic.

Thanks for the explanation!

Yes, this time I just did a git clang-format for edited files.
And the pipeline is happy :)

@keith-horton
Copy link
Member Author

@dunhor : well, those COM tests decided to start failing after I clang-formatted network.h. :(

Any thoughts on how to move this PR forward? can I just force that test to try again?

@dmachaj
Copy link
Collaborator

dmachaj commented Mar 10, 2025

@dunhor : well, those COM tests decided to start failing after I clang-formatted network.h. :(

Any thoughts on how to move this PR forward? can I just force that test to try again?

I think you should disable them to unblock yourself. Those tests have been far more trouble than they are worth. The original com_timeout PR had me spend about 5-10x as long writing the tests as I did the non-test code. And despite that they still aren't reliable enough. The code they are testing is relatively small and has already been validated so I think that would be ok.

Also, I'm unsure if it is interesting that the two failures are x64+Release. x86 isn't failing; Debug is not failing.

@keith-horton
Copy link
Member Author

@dunhor : well, those COM tests decided to start failing after I clang-formatted network.h. :(
Any thoughts on how to move this PR forward? can I just force that test to try again?

I think you should disable them to unblock yourself. Those tests have been far more trouble than they are worth. The original com_timeout PR had me spend about 5-10x as long writing the tests as I did the non-test code. And despite that they still aren't reliable enough. The code they are testing is relatively small and has already been validated so I think that would be ok.

Also, I'm unsure if it is interesting that the two failures are x64+Release. x86 isn't failing; Debug is not failing.

Thanks!
I'll put ifdefs around them so folks can still run the tests locally if they want to verify these objects.

@keith-horton
Copy link
Member Author

Looks like clang no longer wants to compile this:

FAILED: tests/app/CMakeFiles/witest.app.dir/__/FileSystemTests.cpp.obj
C:\PROGRA~1\LLVM\bin\clang-cl.exe /nologo -TP -DCATCH_CONFIG_FAST_COMPILE -DNOMINMAX -DWIL_FAST_BUILD -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -ID:\a\1\s\include -imsvcD:\a\1\s\build\clang32debug\include -imsvcD:\a\1\s\tests.\workarounds\wrl -imsvcD:\a\1\s\build\clang32debug\vcpkg_installed\x86-windows\include -m32 /DWIN32 /D_WINDOWS /GR- /EHsc /Zi /Ob0 /Od /RTC1 -std:c++17 -MDd /W4 /WX -Wno-missing-field-initializers -Wno-language-extension-token -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments -Wno-extra-semi -Wno-self-assign-overloaded -Wno-self-move -mcx16 -fno-delayed-template-parsing /YuD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /FpD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/./cmake_pch.cxx.pch /FID:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /showIncludes /Fotests\app\CMakeFiles\witest.app.dir__\FileSystemTests.cpp.obj /Fdtests\app\CMakeFiles\witest.app.dir\ -c -- D:\a\1\s\tests\FileSystemTests.cpp
In file included from D:\a\1\s\tests\FileSystemTests.cpp:25:
D:\a\1\s\include\wil/stl.h(216,39): error: identifier '_zv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
216 | constexpr zstring_view operator"" _zv(const char* str, std::size_t len) noexcept
| ~~~~~~~~~~~^~~
| operator""_zv
D:\a\1\s\include\wil/stl.h(221,40): error: identifier '_zv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
221 | constexpr zwstring_view operator"" _zv(const wchar_t* str, std::size_t len) noexcept
| ~~~~~~~~~~~^~~
| operator""_zv
2 errors generated.

@keith-horton
Copy link
Member Author

Looks like clang no longer wants to compile this:

FAILED: tests/app/CMakeFiles/witest.app.dir//FileSystemTests.cpp.obj C:\PROGRA~1\LLVM\bin\clang-cl.exe /nologo -TP -DCATCH_CONFIG_FAST_COMPILE -DNOMINMAX -DWIL_FAST_BUILD -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -ID:\a\1\s\include -imsvcD:\a\1\s\build\clang32debug\include -imsvcD:\a\1\s\tests.\workarounds\wrl -imsvcD:\a\1\s\build\clang32debug\vcpkg_installed\x86-windows\include -m32 /DWIN32 /D_WINDOWS /GR- /EHsc /Zi /Ob0 /Od /RTC1 -std:c++17 -MDd /W4 /WX -Wno-missing-field-initializers -Wno-language-extension-token -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments -Wno-extra-semi -Wno-self-assign-overloaded -Wno-self-move -mcx16 -fno-delayed-template-parsing /YuD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /FpD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/./cmake_pch.cxx.pch /FID:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /showIncludes /Fotests\app\CMakeFiles\witest.app.dir\FileSystemTests.cpp.obj /Fdtests\app\CMakeFiles\witest.app.dir\ -c -- D:\a\1\s\tests\FileSystemTests.cpp In file included from D:\a\1\s\tests\FileSystemTests.cpp:25: D:\a\1\s\include\wil/stl.h(216,39): error: identifier '_zv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator] 216 | constexpr zstring_view operator"" _zv(const char* str, std::size_t len) noexcept | ~~~~~~~~~~~^~~ | operator""_zv D:\a\1\s\include\wil/stl.h(221,40): error: identifier '_zv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator] 221 | constexpr zwstring_view operator"" _zv(const wchar_t* str, std::size_t len) noexcept | ~~~~~~~~~~~^~~ | operator""_zv 2 errors generated.

I think it's related to this:
https://releases.llvm.org/20.1.0/tools/clang/docs/ReleaseNotes.html

The warning -Wdeprecated-literal-operator is now on by default, as this is something that WG21 has shown interest in removing from the language. The result is that anyone who is compiling with -Werror should see this diagnostic. To fix this diagnostic, simply removing the space character from between the operator"" and the user defined literal name will make the source no longer deprecated. This is consistent with CWG2521 https://cplusplus.github.io/CWG/issues/2521.html_.

@keith-horton
Copy link
Member Author

Looks like clang no longer wants to compile this:
FAILED: tests/app/CMakeFiles/witest.app.dir//FileSystemTests.cpp.obj C:\PROGRA~1\LLVM\bin\clang-cl.exe /nologo -TP -DCATCH_CONFIG_FAST_COMPILE -DNOMINMAX -DWIL_FAST_BUILD -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -ID:\a\1\s\include -imsvcD:\a\1\s\build\clang32debug\include -imsvcD:\a\1\s\tests.\workarounds\wrl -imsvcD:\a\1\s\build\clang32debug\vcpkg_installed\x86-windows\include -m32 /DWIN32 /D_WINDOWS /GR- /EHsc /Zi /Ob0 /Od /RTC1 -std:c++17 -MDd /W4 /WX -Wno-missing-field-initializers -Wno-language-extension-token -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments -Wno-extra-semi -Wno-self-assign-overloaded -Wno-self-move -mcx16 -fno-delayed-template-parsing /YuD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /FpD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/./cmake_pch.cxx.pch /FID:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /showIncludes /Fotests\app\CMakeFiles\witest.app.dir\FileSystemTests.cpp.obj /Fdtests\app\CMakeFiles\witest.app.dir\ -c -- D:\a\1\s\tests\FileSystemTests.cpp In file included from D:\a\1\s\tests\FileSystemTests.cpp:25: D:\a\1\s\include\wil/stl.h(216,39): error: identifier '_zv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator] 216 | constexpr zstring_view operator"" _zv(const char* str, std::size_t len) noexcept | ~~~~~~~~~~~^~~ | operator""_zv D:\a\1\s\include\wil/stl.h(221,40): error: identifier '_zv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator] 221 | constexpr zwstring_view operator"" _zv(const wchar_t* str, std::size_t len) noexcept | ~~~~~~~~~~~^~~ | operator""_zv 2 errors generated.

I think it's related to this: https://releases.llvm.org/20.1.0/tools/clang/docs/ReleaseNotes.html

The warning -Wdeprecated-literal-operator is now on by default, as this is something that WG21 has shown interest in removing from the language. The result is that anyone who is compiling with -Werror should see this diagnostic. To fix this diagnostic, simply removing the space character from between the operator"" and the user defined literal name will make the source no longer deprecated. This is consistent with CWG2521 https://cplusplus.github.io/CWG/issues/2521.html_.

Yep - that should be it.
I use ReSharper - and it flagged that exactly. (with the required fix :))

@keith-horton
Copy link
Member Author

And we get another clang compiler issue:

FAILED: tests/app/CMakeFiles/witest.app.dir/__/ResourceTests.cpp.obj
C:\PROGRA~1\LLVM\bin\clang-cl.exe /nologo -TP -DCATCH_CONFIG_FAST_COMPILE -DNOMINMAX -DWIL_FAST_BUILD -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -ID:\a\1\s\include -imsvcD:\a\1\s\build\clang32debug\include -imsvcD:\a\1\s\tests.\workarounds\wrl -imsvcD:\a\1\s\build\clang32debug\vcpkg_installed\x86-windows\include -m32 /DWIN32 /D_WINDOWS /GR- /EHsc /Zi /Ob0 /Od /RTC1 -std:c++17 -MDd /W4 /WX -Wno-missing-field-initializers -Wno-language-extension-token -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments -Wno-extra-semi -Wno-self-assign-overloaded -Wno-self-move -mcx16 -fno-delayed-template-parsing /YuD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /FpD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/./cmake_pch.cxx.pch /FID:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /showIncludes /Fotests\app\CMakeFiles\witest.app.dir__\ResourceTests.cpp.obj /Fdtests\app\CMakeFiles\witest.app.dir\ -c -- D:\a\1\s\tests\ResourceTests.cpp
In file included from D:\a\1\s\tests\ResourceTests.cpp:4:
D:\a\1\s\include\wil/resource.h(1011,23): error: first argument in call to 'memset' is a pointer to non-trivially copyable type 'wil::unique_struct<ThingToDestroy2, void (ThingToDestroy2::)() attribute((thiscall)), &CATCH2_INTERNAL_TEST_28()::ThingToDestroy2::destroy>' [-Werror,-Wnontrivial-memcall]
1011 | RtlZeroMemory(this, sizeof(this));
| ^
D:\a\1\s\include\wil/resource.h(917,9): note: in instantiation of member function 'wil::unique_struct<ThingToDestroy2, void (ThingToDestroy2::
)() attribute((thiscall)), &CATCH2_INTERNAL_TEST_28()::ThingToDestroy2::destroy>::call_init' requested here
917 | call_init(use_default_init_fn());
| ^
D:\a\1\s\tests\ResourceTests.cpp(847,109): note: in instantiation of member function 'wil::unique_struct<ThingToDestroy2, void (ThingToDestroy2::
)() attribute((thiscall)), &CATCH2_INTERNAL_TEST_28()::ThingToDestroy2::destroy>::unique_struct' requested here
847 | wil::unique_struct<ThingToDestroy2, decltype(&ThingToDestroy2::destroy), &ThingToDestroy2::destroy> other;
| ^
D:\a\1\s\include\wil/resource.h(1011,23): note: explicitly cast the pointer to silence this warning
1011 | RtlZeroMemory(this, sizeof(*this));
| ^
1 error generated.

@keith-horton
Copy link
Member Author

And we get another clang compiler issue:

FAILED: tests/app/CMakeFiles/witest.app.dir//ResourceTests.cpp.obj C:\PROGRA~1\LLVM\bin\clang-cl.exe /nologo -TP -DCATCH_CONFIG_FAST_COMPILE -DNOMINMAX -DWIL_FAST_BUILD -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -ID:\a\1\s\include -imsvcD:\a\1\s\build\clang32debug\include -imsvcD:\a\1\s\tests.\workarounds\wrl -imsvcD:\a\1\s\build\clang32debug\vcpkg_installed\x86-windows\include -m32 /DWIN32 /D_WINDOWS /GR- /EHsc /Zi /Ob0 /Od /RTC1 -std:c++17 -MDd /W4 /WX -Wno-missing-field-initializers -Wno-language-extension-token -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments -Wno-extra-semi -Wno-self-assign-overloaded -Wno-self-move -mcx16 -fno-delayed-template-parsing /YuD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /FpD:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/./cmake_pch.cxx.pch /FID:/a/1/s/build/clang32debug/tests/app/CMakeFiles/witest.app.dir/cmake_pch.hxx /showIncludes /Fotests\app\CMakeFiles\witest.app.dir\ResourceTests.cpp.obj /Fdtests\app\CMakeFiles\witest.app.dir\ -c -- D:\a\1\s\tests\ResourceTests.cpp In file included from D:\a\1\s\tests\ResourceTests.cpp:4: D:\a\1\s\include\wil/resource.h(1011,23): error: first argument in call to 'memset' is a pointer to non-trivially copyable type 'wil::unique_struct<ThingToDestroy2, void (ThingToDestroy2::)() attribute((thiscall)), &CATCH2_INTERNAL_TEST_28()::ThingToDestroy2::destroy>' [-Werror,-Wnontrivial-memcall] 1011 | RtlZeroMemory(this, sizeof(this)); | ^ D:\a\1\s\include\wil/resource.h(917,9): note: in instantiation of member function 'wil::unique_struct<ThingToDestroy2, void (ThingToDestroy2::)() attribute((thiscall)), &CATCH2_INTERNAL_TEST_28()::ThingToDestroy2::destroy>::call_init' requested here 917 | call_init(use_default_init_fn()); | ^ D:\a\1\s\tests\ResourceTests.cpp(847,109): note: in instantiation of member function 'wil::unique_struct<ThingToDestroy2, void (ThingToDestroy2::)() attribute((thiscall)), &CATCH2_INTERNAL_TEST_28()::ThingToDestroy2::destroy>::unique_struct' requested here 847 | wil::unique_struct<ThingToDestroy2, decltype(&ThingToDestroy2::destroy), &ThingToDestroy2::destroy> other; | ^ D:\a\1\s\include\wil/resource.h(1011,23): note: explicitly cast the pointer to silence this warning 1011 | RtlZeroMemory(this, sizeof(*this)); | ^ 1 error generated.

This apparently is also in the clang release notes:

Modified Compiler Flags
The -ffp-model option has been updated to enable a more limited set of optimizations when the fast argument is used and to accept a new argument, aggressive. The behavior of -ffp-model=aggressive is equivalent to the previous behavior of -ffp-model=fast. The updated -ffp-model=fast behavior no longer assumes finite math only and uses the promoted algorithm for complex division when possible rather than the less basic (limited range) algorithm.

The -fveclib option has been updated to enable -fno-math-errno for -fveclib=ArmPL and -fveclib=SLEEF. This gives Clang more opportunities to utilize these vector libraries. The behavior for all other vector function libraries remains unchanged.

The -Wnontrivial-memcall warning has been added to warn about passing non-trivially-copyable destination parameter to memcpy, memset and similar functions for which it is a documented undefined behavior. It is implied by -Wnontrivial-memaccess

jonwis
jonwis previously approved these changes Mar 25, 2025
ChrisGuzak
ChrisGuzak previously approved these changes Mar 25, 2025
@dunhor
Copy link
Member

dunhor commented Mar 25, 2025

/AzurePipelines run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@dunhor
Copy link
Member

dunhor commented Mar 25, 2025

Azure Pipelines successfully started running 1 pipeline(s).

Yay, it worked

@keith-horton
Copy link
Member Author

/AzurePipelines run

Copy link

Commenter does not have sufficient privileges for PR 506 in repo microsoft/wil

@keith-horton
Copy link
Member Author

/AzurePipelines run

@dunhor : can you run this command to kick off the CI pipeline? I tried and it said, "Commenter does not have sufficient privileges for PR 506 in repo microsoft/wil"

@jonwis
Copy link
Member

jonwis commented May 28, 2025

/AzurePipelines run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@dunhor
Copy link
Member

dunhor commented May 28, 2025

Thanks Jon.

FYI - I'm seriously contemplating moving to GitHub actions so we don't have this commenting requirement (for however long that lasts)

@keith-horton
Copy link
Member Author

Thanks Jon.

FYI - I'm seriously contemplating moving to GitHub actions so we don't have this commenting requirement (for however long that lasts)

Thanks guys.

Turns out "git add *" + git clang-format --style file" didn't format these files. "scripts\format-changes.cmd upstream/master" didn't format these files.

But scripts\run-clang-format.cmd seems to have formatted them.

Would you mind restarting the CI pipeline? All other stages looked to have succeeded.

@jonwis
Copy link
Member

jonwis commented May 29, 2025

If I ever get my act together with CMake, we can add a target that is "format check on every build."

"Coming soon"

@jonwis
Copy link
Member

jonwis commented May 29, 2025

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@dunhor
Copy link
Member

dunhor commented May 29, 2025

Turns out "git add *" + git clang-format --style file" didn't format these files. "scripts\format-changes.cmd upstream/master" didn't format these files.

There should be a comment in the main readme regarding this. The TL;DR is that different versions of clang-format will format the same code differently. This is why we suggest using git clang-format instead (and use it for CI validation) since running clang-format on the entire codebase may touch files/lines unrelated to your change which can be a pain to review and merge. Not to mention the fact that it's very specific to the version of clang-format running on your machine, which may differ from the version running on someone else's, including the CI machine, which is probably the source of the behavior you see (there's also a version of clang-format that ships with Visual Studio, which we prefer to use for consistency, and may play a role here).

That said, as long as you've formatted the code, that's all we really care about. If the CI fails because of inconsistent versions of clang-format, you can leave a comment and we can override that check because we know that it can be annoying and inconvenient to try and match things up exactly.

As an aside, one thing I've been wanting to do is throw something like a git diff into the pipeline so that the formatting differences are clear to anyone who looks, making an override decision easier or allowing the PR author to jut make the change themselves.

As a super aside, it's been on my wishlist for a while to add a command we can run that will format the code and commit the result. I just haven't had the time to look into it yet.

@dunhor
Copy link
Member

dunhor commented Jun 2, 2025

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@keith-horton
Copy link
Member Author

keith-horton commented Jun 9, 2025

/azp run

[edit: heh, I tried]

Copy link

Commenter does not have sufficient privileges for PR 506 in repo microsoft/wil

Copy link

Command 'run

[edit:' is not supported by Azure Pipelines.



Supported commands

  • help:
    • Get descriptions, examples and documentation about supported commands
    • Example: help "command_name"
  • list:
    • List all pipelines for this repository using a comment.
    • Example: "list"
  • run:
    • Run all pipelines or specific pipelines for this repository using a comment. Use this command by itself to trigger all related pipelines, or specify specific pipelines to run.
    • Example: "run" or "run pipeline_name, pipeline_name, pipeline_name"
  • where:
    • Report back the Azure DevOps orgs that are related to this repository and org
    • Example: "where"

See additional documentation.

@keith-horton
Copy link
Member Author

@dunhor , @jonwis : do we need to kick this through the CI pipeline one more time?

(sorry, I merged with the master branch)

@dunhor
Copy link
Member

dunhor commented Jun 9, 2025

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@dunhor
Copy link
Member

dunhor commented Jun 9, 2025

@dunhor , @jonwis : do we need to kick this through the CI pipeline one more time?

(sorry, I merged with the master branch)

Kicked it off. If there's no other feedback by the end of the day I'll go ahead and squash & merge the PR

@dunhor dunhor merged commit 442cc8f into microsoft:master Jun 10, 2025
11 checks passed
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.

7 participants