Skip to content

Add integration testing for NuGet package installation and basic functionality#26

Merged
Malcolmnixon merged 7 commits intomainfrom
copilot/add-integration-testing-job
Jan 8, 2026
Merged

Add integration testing for NuGet package installation and basic functionality#26
Malcolmnixon merged 7 commits intomainfrom
copilot/add-integration-testing-job

Conversation

Copy link
Contributor

Copilot AI commented Jan 8, 2026

Integration Testing Implementation - Complete ✅

Changes Made

  1. Simplified artifact structure - Updated upload-artifact paths to target specific files:

    • src/DemaConsulting.ReqStream/bin/Release/*.nupkg
    • src/DemaConsulting.ReqStream/bin/Release/*.snupkg
    • This places packages at the root of the artifact
  2. Added symbol package support - Updated .csproj with:

    • <IncludeSymbols>true</IncludeSymbols>
    • <SymbolPackageFormat>snupkg</SymbolPackageFormat>
    • <PublishRepositoryUrl>true</PublishRepositoryUrl>
    • <ContinuousIntegrationBuild> set when GITHUB_ACTIONS is true
    • Microsoft.SourceLink.GitHub package reference (version 8.0.0)
  3. Simplified integration test - Removed find command since packages are now directly in the packages folder

  4. Fixed package installation - Added --version parameter to ensure correct package version is installed

  5. Verified changes:

    • Build succeeds
    • All tests pass (127/127)
    • Both .nupkg and .snupkg files are generated
    • No security vulnerabilities in new dependency
Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature]: Integration Testing</issue_title>
<issue_description>### Problem Statement

The NuGet package should be integration tested after building.

Proposed Solution

Add a 'test' job to the build.yaml file that:

  1. Consumes the NuGet package produced by the 'build' job
  2. Matrix-tests on [windows-latest, ubuntu-latest] and DotNet [8.x, 9.x, 10.x]
  3. Installs the package
  4. Runs basic package tests such as running version query and help.

Alternatives Considered

No response

Additional Context

No response

Priority

High - Blocking current work

Contribution

  • I would be willing to submit a PR for this feature

Code of Conduct

  • I agree to follow this project's Code of Conduct</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits January 8, 2026 16:43
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Add integration testing for NuGet package Add integration testing for NuGet package installation and basic functionality Jan 8, 2026
Copilot AI requested a review from Malcolmnixon January 8, 2026 16:48
@Malcolmnixon
Copy link
Contributor

@copilot The new CI integration test job cannot find the nuget package due to the complex folder structure of the build jobs package artifact (it contains src/DemaConsuling.ReqStream/bin/Release/DemaConsulting.ReqStream.x.y.z-run.w.nupkg).

I believe the best approach is to simplify the package artifact structure so the nupkg is at the root. This can be done by modifying the actions/upload-artifact path pattern to:

  • src/DemaConsulting.ReqStream/bin/Release/*.nupkg
  • src/DemaConsulting.ReqStream/bin/Release/*.snupkg

Additionally please note the snupkg file isn't being generated. The csproj file should be updated to:

  • Include Symbols
  • Use the snupkg format
  • Enable PublishRepositoryUrl
  • Set ContinuousIntegrationBuild if GITHUB_ACTIONS is defined
  • Use Microsoft.SourceLink.GitHub

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 8, 2026

@copilot The new CI integration test job cannot find the nuget package due to the complex folder structure of the build jobs package artifact (it contains src/DemaConsuling.ReqStream/bin/Release/DemaC...

Fixed in commit c545a5c:

  1. Simplified artifact paths to src/DemaConsulting.ReqStream/bin/Release/*.nupkg and src/DemaConsulting.ReqStream/bin/Release/*.snupkg - packages now appear at the root of the artifact
  2. Added symbol package configuration to .csproj:
    • IncludeSymbols and SymbolPackageFormat set to snupkg
    • PublishRepositoryUrl enabled
    • ContinuousIntegrationBuild set when GITHUB_ACTIONS is true
    • Microsoft.SourceLink.GitHub v8.0.0 added as dependency

Both .nupkg and .snupkg files are now generated successfully.

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon
Copy link
Contributor

@copilot The integration test failed to install the dotnet tool - possibly the install needs to specify the exact version.

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 8, 2026

@copilot The integration test failed to install the dotnet tool - possibly the install needs to specify the exact version.

Fixed in 526152c. Added --version ${{ inputs.version }} parameter to the dotnet tool install command to specify the exact package version to install.

@Malcolmnixon Malcolmnixon marked this pull request as ready for review January 8, 2026 20:14
@Malcolmnixon Malcolmnixon merged commit 4574764 into main Jan 8, 2026
12 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/add-integration-testing-job branch January 8, 2026 20:14
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.

[Feature]: Integration Testing

2 participants