Skip to content

ci: key dialyzer cache by erlang/elixir version#1407

Merged
lusergit merged 1 commit intoedgehog-device-manager:mainfrom
OmarBrbutovic:backend_dialyzer_cache
May 4, 2026
Merged

ci: key dialyzer cache by erlang/elixir version#1407
lusergit merged 1 commit intoedgehog-device-manager:mainfrom
OmarBrbutovic:backend_dialyzer_cache

Conversation

@OmarBrbutovic
Copy link
Copy Markdown
Collaborator

@OmarBrbutovic OmarBrbutovic commented May 4, 2026

What this PR does / why we need it:

Dialyzer was intermittently failing with Old PLT file when the cached PLT was restored after the Erlang/Elixir toolchain changed.

Update the backend dialyzer workflow to compute a cache prefix from the erlang and elixir entries in .tool-versions. Forcing a rebuild when the runtime that affects Dialyzer changes.

Additional documentation e.g. usage docs, diagrams, reviewer notes, etc.:


Thanks for sending a pull request! If this is your first time, here are some tips for you:
  1. You can take a look at our developer guide for an introduction on Edgehog development!
  2. Make sure to read CONTRIBUTING.md and CODE_OF_CONDUCT.md
  3. If the PR is unfinished or you're actively working on it, mark it as draft

When fixing existing issues, use github's syntax to link your pull request to it

fixes #<issue number>

We also have a syntax to signal dependencies to other open pull requests

depends on #<pr number>
depends on https://github.com/...

In case of stacked PRs, you may add the PR number in the last commit's title instead:

gitGraph
    commit id: "Current master"
    branch feat1
    checkout feat1
    commit id: "feat: add something"
    commit id: "feat: add something else (#100)"
    branch feat2
    checkout feat2
    commit id: "refactor: do something"
    commit id: "fix: solve issue"
    commit id: "feat: add a feature (#101)"
    branch feat3
    checkout feat3
    commit id: "feat: feat without pr number"
Loading

Dialyzer was intermittently failing with `Old PLT file` when the cached
PLT was restored after the Erlang/Elixir toolchain changed.

Update the backend dialyzer workflow to compute a cache prefix from
the erlang and elixir entries in .tool-versions. Forcing a rebuild when
the runtime that affects Dialyzer changes.

Signed-off-by: Omar <omar.brbutovic@secomind.com>
@OmarBrbutovic OmarBrbutovic requested review from Dam-99 and lusergit May 4, 2026 07:47
@OmarBrbutovic OmarBrbutovic added the CI Improvements or changes in the CI label May 4, 2026
Copy link
Copy Markdown
Contributor

@Dam-99 Dam-99 left a comment

Choose a reason for hiding this comment

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

i'm sure it was intentional faliures 👀

@OmarBrbutovic
Copy link
Copy Markdown
Collaborator Author

I’m sure those failures were intentional 👀

Poorly worded on my side. The goal is to avoid having to manually clear the cache every time something updates. With Renovate in place, that could happen quite frequently.

There are still a few edge cases we should explore, but we’ll expand on those once they come up again.

And, of course, naming and commit titles remain the hardest part of development.

@Dam-99
Copy link
Copy Markdown
Contributor

Dam-99 commented May 4, 2026

@OmarBrbutovic don't worry, i was just messing around, i approve of these changes

@lusergit lusergit merged commit 58c54da into edgehog-device-manager:main May 4, 2026
19 checks passed
@OmarBrbutovic OmarBrbutovic deleted the backend_dialyzer_cache branch May 5, 2026 08:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Improvements or changes in the CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants