[Bug]: PublishToAppSource workflow publishes multi-app repos in alphabetical order instead of dependency order
AL-Go version
v8.0
Describe the issue
In multi-project repositories with inter-app dependencies, the PublishToAppSource workflow currently processes apps alphabetically instead of by dependency hierarchy.
This causes publish failures when dependent apps have not yet been uploaded to AppSource.
Expected behavior
Apps should be published in dependency order (e.g., Core → Mid-tier → Top-level) to ensure dependent apps reference the correct same-release versions.
Steps to reproduce
- Create a multi-project repository with three-tier dependencies, for example:
- Core → Base platform app (level 1)
- HR → Depends on App_Core (level 2)
- Finance → Depends on App_Core (level 2)
- Budgets → Depends on Finance (level 3)
- Configure all apps for the same release version (e.g., 27.0.2543.0) and update dependencies.
- Run the
PublishToAppSourceworkflow from AL-Go (.github/workflows/PublishToAppSource.yml). - Observe that apps are processed and published alphabetically (Budgets first), not in dependency order.
- Since App Budgeting depends on App Finance, the AppSource validation fails due to missing dependencies.
Additional context (logs, screenshots, etc.)
Some dependencies could not be found for the country/region 'US' and release '27.0.0' of Business Central. Make sure that these dependencies are part of your submission or that they have already been uploaded to AppSource and that they are available for the targeted country/region and release: [App Name] ([guid]) by [publisher] version '27.0.2543.0'.
Hi @aholstrup1, is this also related to updateDependencies issues?
AI Assessment: Complete ✅
The bug report appears to be fully filled out and is ready to be worked on. Below is a detailed explanation of each key element's presence:
- AL-Go version: Provided as
v8.0(✅) - Description of the problem: Clearly stated that the
PublishToAppSourceworkflow processes apps alphabetically instead of by dependency hierarchy, leading to publish failures (✅). - Description of the expected behavior: Specified that apps should be published in dependency order to ensure that dependent apps reference the correct same-release versions (✅).
- Steps to reproduce: Detailed steps provided, including creating a multi-project repository, configuring apps, running the workflow, and observing the resulting behavior (✅).
- Additional context: While it is optional, there is relevant additional context provided that details dependencies that could not be found and provides specific information about expected submissions (✅).
Since all required elements are present and articulated clearly, the report has been rated as complete. No additional logs are necessary as the context provided includes relevant information related to the dependencies and validation failures.
Summary
All required elements for the bug report are complete and properly detailed. The bug report is now ready for team member review and action.
@ivandjordjevic Looking at the script in AL-Go, I do see what you are referring to. It looks like AL-Go iterates over all your projects but doesn't take the order into account. Looks like a bug to me. Just to be completely sure, would it be possible for you to share just the log for the Deliver step of the workflow? Feel free to replace the app names and app ids with dummy values if you prefer to keep it anonymized.
The short-term mitigation for now (just so you're not blocked) would be to run the pipeline once per project, in the correct order.
Regarding the updateDependencies; It is likely a contributing factor, but I would still consider it a bug in AL-Go.
Thanks @ivandjordjevic. I'll have a look this week, but I can't give you an ETA yet