microsoft / powerplatform-actions

Power Platform GitHub Actions automate common build and deployment tasks related to Power Platform. This includes synchronization of solution metadata (a.k.a. solutions) between development environments and source control, generating build artifacts, deploying to downstream environments, provisioning/de-provisioning of environments, and the ability to perform static analysis checks against your solution using the PowerApps checker service.
MIT License
221 stars 68 forks source link

Solution is imported as "update" instead of "upgrade" and there is no option to do an "upgrade". #368

Open BrainSlugs83 opened 1 year ago

BrainSlugs83 commented 1 year ago

Using import solution, there is no option to import it as an "upgrade" (i.e. where items not present in the solution are deleted from the environment). -- Instead it seems to be forcing an "update" (i.e. only new and changed are added; but items not present do not get removed).

Please add the option to do an "update" of a solution. So that removed objects are properly removed from the target environment.

Here's an image of what I'm talking about (see below). -- And to be clear: I don't want to stage it for an upgrade and then upgrade it as a second action -- that would double the size and complexity of my script. -- I just want to import it as a (non-staged) upgrade and be done all in one step. -- Like just with an extra parameter to the import solution action.

Thanks! image

petrochuk commented 1 year ago

Thanks for feedback. Can you tell us how this is related to GitHub Actions for Microsoft Power Platform which this repository contains?

tehcrashxor commented 1 year ago

Solution upgrade is performed with the upgrade-solution action.
Note that the solution first needs to first be staged for the upgrade, which can be done via the import-as-holding parameter of the import-solution action

BrainSlugs83 commented 1 year ago

Solution upgrade is performed with the upgrade-solution action. Note that the solution first needs to first be staged for the upgrade, which can be done via the import-as-holding parameter of the import-solution action

I'm aware that you can do it as a two step process (in fact I addressed that in the original issue description) -- but, as I said before, that's massively inconvenient when you're importing 9 or 10 solutions. (e.g. a 300 lines of code deployment changes to 600+ lines of code just to change one parameter!?).

In all of the other tooling (both GUI and CLI) it's the same command with a single parameter that you change (yes you can do it in two steps via those routes, but you can also do it in a single step so that your scripts don't need to be overly bloated).

It would be good to automate this as a single step command so that our deployments don't need to double in size just to change one parameter of the deployment process. 🫤

BrainSlugs83 commented 1 year ago

@petrochuk I apologize, but I'm deeply confused by your question -- I feel like enough information was provided in the original issue. -- I'm specifically asking about the GitHub Actions for Microsoft Power Platform, hence I have posted the issue here in this repo. -- Please let me know how I can assist or provide additional information. -- This issue is not in the wrong place.

Edit: It occurs to me that maybe the image I pasted could cause some confusion. That makes sense. -- Please read the text of the issue though. The image is to show what UI equivalent of the feature I am asking you to implement in the GitHub Actions framework. Thank you. 🙂