AL-Go version
9.0
Describe the issue
Inheriting settings in custom templates up to 3 levels works perfectly fine
AL-Go PTE Template -> Customer PTE Template -> Customer PTE
Problems arise when a fourth level is added here:
AL-Go PTE Template -> Partner PTE Template -> Customer PTE Template -> Customer PTE
The problem itself in that the settings defined at level 3 (Customer PTE Template) in the ".github/AL-Go-TemplateRepoSettings.doNotEdit.json" are no longer inherited at level 4 (Customer PTE), since only the contents of .github/AL-Go-Settings.json are written to the .github/templateRepoSettings.doNotEdit.json file in the target repo.
This exact same behavior most likely also applies to the Project Settings.
Expected behavior
Template Inheritance should work on at least 4 levels. Better would be an unlimited number of levels.
Steps to reproduce
- Do for Repo A (Partner PTE Template):
- Create from AL-Go Template
- Set a unique setting (this will be missing)
- Configure as Template Repo
- Do for Repo B (Customer PTE Template):
- Create from Repo A
- Set a unique setting
- Configure as Template Repo
- Do for Repo C (Customer PTE):
- Create from Repo A
- Set a unique setting
After Update AL-Go on each Repo based on its Template the setting from Repo A will be missing in Repo C
Additional context (logs, screenshots, etc.)
Possible solution:
One possible solution could be to virtually merge the contents of .github/AL-Go-Settings.json and, if present, .github/templateRepoSettings.doNotEdit.json during the AL-Go update workflow (and when checking for updates), and then write this to the .github/templateRepoSettings.doNotEdit.json file in the target repository.
AL-Go version
9.0
Describe the issue
Inheriting settings in custom templates up to 3 levels works perfectly fine
AL-Go PTE Template -> Customer PTE Template -> Customer PTE
Problems arise when a fourth level is added here:
AL-Go PTE Template -> Partner PTE Template -> Customer PTE Template -> Customer PTE
The problem itself in that the settings defined at level 3 (Customer PTE Template) in the ".github/AL-Go-TemplateRepoSettings.doNotEdit.json" are no longer inherited at level 4 (Customer PTE), since only the contents of .github/AL-Go-Settings.json are written to the .github/templateRepoSettings.doNotEdit.json file in the target repo.
This exact same behavior most likely also applies to the Project Settings.
Expected behavior
Template Inheritance should work on at least 4 levels. Better would be an unlimited number of levels.
Steps to reproduce
After Update AL-Go on each Repo based on its Template the setting from Repo A will be missing in Repo C
Additional context (logs, screenshots, etc.)
Possible solution:
One possible solution could be to virtually merge the contents of
.github/AL-Go-Settings.jsonand, if present,.github/templateRepoSettings.doNotEdit.jsonduring the AL-Go update workflow (and when checking for updates), and then write this to the.github/templateRepoSettings.doNotEdit.jsonfile in the target repository.