microsoft / AL-Go

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

Failed Deploy does not raise exception #435

Open buzzwick opened 1 year ago

buzzwick commented 1 year ago

We are still trying to wrap our heads around the versioning flow. Along the way, we were making code changes and checking them in, and seeing pull requests and CI/CD jobs complete successfully. But then we noticed code in the QA environment was not actually changing. Turns out the app was not in fact deployed, because of

Apps to deploy D:\a\CAI-Software-Precious-Metals-Solution\CAI-Software-Precious-Metals-Solution\.artifacts\CAI-Software-Precious-Metals-Solution-main-Apps-21.2.60.0 Attempting authentication to ***user_impersonation offline_access using refresh token... Authenticated using refresh token as user David Baldwin (dbaldwin@caisoft.com) https://businesscentral.dynamics.com/***/QA/deployment/url Publishing apps using development endpoint CAI Software_CAI Software Precious Metals Solution_21.2.60.0.app is already installed with a newer version Removing BcContainerHelper

If this happens--app does not deploy because it is an older version no.--should this not show up in the workflow as a failed Deploy job?

freddydk commented 1 year ago

This check was primarily made as a check for dependent apps - if any of the apps you depend on are installed in a higher version - that is deemed OK, i would not see that as an error.

The apps from your pipeline should never get an older version number than prior builds and thus should always upgrade. I do however agree that if the apps that were build in your pipeline are already installed in a newer version, we should fail the deploy.

Will investigate that.

buzzwick commented 1 year ago

Thanks. Probably the attempt to deploy an older version arose from my not yet understanding all of these versioning mechanics. It is starting to make more sense now, and we are getting the deployments we expect. Mostly…