-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix!: incorrect filesystem implicit order due to reloading of objects #1014
Conversation
✅ Deploy Preview for terramate-io-docs canceled.
|
hey @zied-elouaer |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #1014 +/- ##
==========================================
+ Coverage 62.75% 65.69% +2.93%
==========================================
Files 102 94 -8
Lines 16395 14882 -1513
==========================================
- Hits 10288 9776 -512
+ Misses 5683 4738 -945
+ Partials 424 368 -56
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on the previously broken use case in iac-gcloud
and it works just fine now. Nicely done!
14d9225
to
1408285
Compare
✅ Deploy Preview for docs-terramate-io canceled.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
Signed-off-by: Tiago Natel <[email protected]>
1408285
to
47ea934
Compare
In some cases the filesystem implicit order (orchestration ordering) is incorrect due to stack objects being reloaded from the config tree and then losing its implicit definition.
The problem is easier to reproduce when using
tag
filters in thestack.after
orstack.before
attributes, because they are loaded at a later time and then new stack objects are created.The solution of the problem was implementing a memoization of the
tree.stack
object, wrapped in the methodtree.Stack()
.