test: Add Windows Server 2022 and 2025 test definitions for the .NET agent#1384
Merged
pranav-new-relic merged 11 commits intoJul 13, 2026
Merged
Conversation
…itions Add 2022 and 2025 .NET agent IIS test definitions (full and core-only variants) to both the EU and JP regions, mirroring the existing 2019 set. Uses the Windows_Server-2022/2025-English-Full-Base-* AMIs already referenced by the agent-control definitions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Re-running failed jobs reuses the same run-id, colliding on already-created AWS security groups (InvalidGroup.Duplicate). A fresh run-id avoids this and re-attempts the Windows host provisioning that hit a mid-reboot race. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The "Install .net core hosting for IIS" task downloaded the .NET Core Hosting Bundle 5.0.2 from a hardcoded visualstudio.microsoft.com permalink that now returns a WebException, failing every Windows IIS core-app deploy at the configure step. Point it at the current .NET 10 (10.0.9) hosting bundle on builds.dotnet.microsoft.com. Shared role code, so this fixes the core-app path for all Windows versions (2016/2019/2022/2025) across EU and JP. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ee if that solves security group collision issues
Newer Windows AMIs (Server 2022/2025) can still be completing first-boot / sysprep when the deploy connects, leaving WinRM reachable but the OS unstable -- the IIS feature install intermittently fails with "A system shutdown is in progress" (0x8007045b). Add a wait_for_connection guard as the first prepare task so the connection settles before any feature-install work runs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…gent-test-definitions-windows
Member
The design spec was landing under docs/superpowers/specs/, which isn't a recognized area of the repo (that directory is a local scratchpad and carries no meaning for anyone reading the tree fresh). docs/test-framework/ is already the home for test-related documentation (deployer.md, terraform.md, README.md) and is the natural place for a design doc about test-definition modernization. Same content, no substantive edits — pure relocation + rename to match the adjacent naming style (short descriptive filename, no date prefix; git already tracks when it landed).
pranav-new-relic
approved these changes
Jul 13, 2026
pranav-new-relic
left a comment
Member
There was a problem hiding this comment.
LGTM. Resource-ID rename fixed the AWS security-group collision (16/16 test deploys green on the previous head), and the design doc is now in a properly named location (docs/test-framework/dotnet-linux-test-modernization.md) that matches the existing conventions there. Squash-merging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Add Windows Server 2022 and 2025 test definitions for IIS + the .NET APM agent (full and core-only variants) to both the EU and JP regions, mirroring the existing 2019 set. Uses the Windows_Server-2022/2025-English-Full-Base-* AMIs already referenced by the agent-control definitions.
I also updated the version of the ASP.NET Core hosting module being installed in
test/deploy/windows/iis/deploy-webapplication/roles/configure/tasks/main.ymlto be .NET 10; the old link had expired and so both existing and new tests were failing.There is also a new
ansible.builtin.wait_for_connectionstep added totest/deploy/windows/iis/install/roles/prepare/tasks/main.ymlin order to fix some test flakiness observed.Finally: in order to get all of these tests to pass in their current form, I had to run each one individually - when they run simultaneously, they fail due to an AWS security group collision issue. I was able to temporarily work around that problem (see the full commit history) by making unique resource IDs for the main server in each test. Claude Code's analysis indicates that the issue is that the AWS security group is based on the filename + resource ID, but we have duplicate filenames which are bit-for-bit identical for the EU and JP versions of each test. I don't think fixing this problem is in the scope of this PR, and I didn't want to create an anti-pattern by leaving the unique resource IDs in place to work around this. (Update: I have reinstated the region-specific resource IDs at the request of @pranav-new-relic to ease the process of merging this PR.)