question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Integrate diffing into build

See original GitHub issue

Generate diff artifact as part of es.net build script.

  • Alert if Type="Deleted" or Type="Modified" is present
  • Attempt to de-duplicate erroneous Type="Modified" on types
  • Potentially filter on Modified and Deleted to aid human-check

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
Mpdreamzcommented, Apr 4, 2019

We use: https://github.com/nullean/AssemblyDiffer which handles TFM’s as well.

It allows us to compare the current build assemblies with a version on nuget.

The trouble is we need to feed that tool previous Nuget versions manually since depending on what branch we are we need a different version to compare against

branch version action
5.x latest 5.x on nuget.org fail if breaking
6.x latest 6.x on nuget.org fail if breaking
7.x latest 7.x on nuget.org fail if breaking
master latest on nuget.org break all the things!

The version resolution requires investigating how Nuget.Client and its N auxialiary packages stitch together, things were a tad easier when it was OData. We currently use the v2 OData endpoints and but they’ve been deprecated for years now.

1reaction
russcamcommented, Apr 5, 2019

Closing this as this change has now been made in 6.x and 7.x. For example

> build skipdocs skiptests
> build diff "nuget|NEST.JsonNetSerializer|6.6.0|netstandard2.0 directory|../../build/output/Nest.JsonNetSerializer/netstandard2.0"

This will

  1. pull down the Nest.JsonNetSerializer 6.6.0 nuget package and its dependent packages
  2. compare all matching assembly names in the package and dependent packages with those in the …/…/build/output/Nest.JsonNetSerializer/netstandard2.0 build output directory. In this instance, it will compare Elasticsearch.Net, Nest and Nest.JsonNetSerializer
  3. output the diff XML for each to build/output

We can aim to make this even easier to run in future so that you can just call something like

build diff "nuget|6.x|netstandard2.0"

to compare local compiled with the latest 6.x released version.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Integrate Assembly Diff in Your Build Using JustAssembly
It converts the assembly hierarchical structure to XML hierarchy. The assembly contains modules and the modules contain types which in turn ...
Read more >
Merge+Diff: Building DAGs More Efficiently and Elegantly
This post showcases how MergeOp and DiffOp help encode knowledge of software dependency relationships, which enables BuildKit to maximize cache reusability and ...
Read more >
11 Diff and Merge Tools to Simplify Your File Inspection
Diff and merge tools are meant to assist users in comparing, exploring, and managing differences across files. The difference could be ...
Read more >
Compare Builds and Code Diff - YouTube
CppDepend can tell you what has been changed between 2 builds but it does more than simple text comparison. It can distinguish between ......
Read more >
Working with diffs
Working with diffs. We rely on different sources to present diffs. These include: Gitaly service; Database (through merge_request_diff_files ) ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found