microsoft / AL-Go

The plug-and-play DevOps solution for Business Central app development on GitHub
MIT License
293 stars 124 forks source link

[Bug]: CI/CD fails during build with nuget feed dependency to appsource apps #1269

Open MartinFellow opened 3 weeks ago

MartinFellow commented 3 weeks ago

AL-Go version

6.0

Describe the issue

When we create an app where we want to use the new nuget feed functionality where we get symbols/apps from your public repo with the appsource apps it fails during the build process when we get to the publish part of that.

I can see that i find the dependency and installs the app's just fine, compiles but the last part goes wrong.

We have also created a public github repo with just a very simple example Example-Continia

A side issue is that with our existing apps where we try to switch to this behavior instead of zip files with app's is that the upgrade check also fails, but we can turn this off in the settings and might be fixes as soon as this is building correct.

Expected behavior

Expected it to build the app.

Steps to reproduce

Setup a repo with dependency to a appsource app and try to build it.

Additional context (logs, screenshots, etc.)

Here is the log logs_29783046941.zip

jonaswre commented 2 weeks ago

I think this might be the same issue that has been discussed in many forms since release of v6.

If you don't have dontPublish enabled your actions will fail because the symbols downloaded from the official Nuget feed can't be installed.

Symbols don't contain source code and can only be used by the compiler to check if the methods you try to use exist.

The microsoft nuget feeds are useless for the most part. The only use we have found is, if you do not need to write tests for the things you do when depending on the AppSource App. For example hiding or adding fields on a page you'll probably be fine without writing tests. But for any business logic extension you will still need to go to the partner and get the runtimes.

MartinFellow commented 2 weeks ago

Thanks for the input Jonas, yeah because if it cannot make an app file for deployment it will not make much sense to use it. Hopeing to get some feedback from @freddydk and the team about it, because I would really like this to work with all the time we waste at getting app files from especially the smaller partners that do not have a partner site for us to download.

jonaswre commented 2 weeks ago

Last time I've talked to @freddydk about it, he stated the reason that Microsoft can't provide runtimes is because they can't legally distribute Partners IP outside of the Secure BC SaaS Environment.

Because from a runtime package you could technically reverse-engineer the partners solution. Although probably not worth it in most cases.

If you look at the nuget discussions here on github you might be able to find it.