Skip to content

Conversation

@enf0rc3
Copy link

@enf0rc3 enf0rc3 commented Oct 31, 2025

Background

With the release of the re-fork of the Octopus Nuget.Clients we want to update all our usages to use the new and latest version.

Tentacle depends on it in two places:

  1. Package Extraction
  2. Versioning (via transitive dependency)

We can remove the dependency on Nuget.Versioning.SemanticVersion by replacing it with the new [Octopus.Versioning.SemanticVersion](https://github.com/OctopusDeploy/Versioning/blob/main/source/Octopus.Versioning/Semver/SemanticVersion.cs) that was modeled off the original fork.

We can update the PackageExtractor.ExtractPackage to instead call the new 6.14.x async only PackageExtractor.ExtractPackageAsync

Results

This PR has removed the transitive dependency on NuGet.Versioning and has updated the package extractor to use the new async variant.

There are further improvements to consider:

  • Making package extractor async
  • Removing all usages of the string version of the NuGetVersion in favor of SemanticVersion

There are still many places that use the string version of NuGetVersion

Before

Before

After

After

How to review this PR

Quality ✔️

Pre-requisites

  • I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
  • I have considered informing or consulting the right people, according to the ownership map.
  • I have considered appropriate testing for my change.

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.

1 participant