Skip to content

Skip building dlls if there was no change with extension - #3439

Merged
romangolev merged 1 commit into
developfrom
loader-build-fingerprint
Jun 19, 2026
Merged

Skip building dlls if there was no change with extension#3439
romangolev merged 1 commit into
developfrom
loader-build-fingerprint

Conversation

@romangolev

Copy link
Copy Markdown
Member

This is a cherry-pick fix I found during working on

Fixes the behavior when loader rebuilds dlls all the time regardless if there we changes to extensions or not

Please, drop it as a hotfix before release @jmcouffin

The assembly build fingerprint previously mixed in the loader DLL's
file write time alongside its version. The write time changes on every
local rebuild and CI redeploy, so the cache key changed on every load
and forced every extension assembly to be regenerated even when
nothing in the generator actually changed.

The fingerprint is now the assembly's semantic version only, which
changes between pyRevit releases but stays stable across rebuilds of
the same release. A developer caveat is added so contributors working
on the generator know to delete %APPDATA%/pyRevit/{revitVersion}/
pyRevit_*.dll to force a rebuild when the generator changes without a
version bump.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the extension assembly cache key in the C# assembly builder to avoid unnecessary DLL rebuilds when the loader binaries are rebuilt/redeployed without any extension changes.

Changes:

  • Changes the assembly build fingerprint to depend only on the executing assembly version (removing DLL write-time from the cache key).
  • Updates inline documentation to explain the cache invalidation behavior and developer workflow caveat.

@pyrevitlabs pyrevitlabs deleted a comment from devloai Bot Jun 19, 2026
@jmcouffin

Copy link
Copy Markdown
Contributor

@romangolev have you tested it?

@romangolev

Copy link
Copy Markdown
Member Author

Yes I did

@romangolev
romangolev merged commit 89dd1f1 into develop Jun 19, 2026
4 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📦 New work-in-progress (wip) builds are available for 6.4.0.26166+1546-wip

@jmcouffin
jmcouffin deleted the loader-build-fingerprint branch June 21, 2026 07:34
@github-actions

Copy link
Copy Markdown
Contributor

📦 New work-in-progress (wip) builds are available for 6.4.0.26166+1546-wip

@github-actions

Copy link
Copy Markdown
Contributor

📦 New work-in-progress (wip) builds are available for 6.4.0.26166+1546-wip

@jmcouffin

Copy link
Copy Markdown
Contributor

📦 New public release is available for 6.5.0.26173+1406

1 similar comment
@github-actions

Copy link
Copy Markdown
Contributor

📦 New public release is available for 6.5.0.26173+1406

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.

3 participants