ewingjm / development-hub

A continuous integration solution for Power Apps.
MIT License
35 stars 8 forks source link

feat: create pull requests for solution merges #61

Closed ewingjm closed 3 years ago

ewingjm commented 3 years ago

Purpose

Currently, solution merges can only be pushed directly to a branch named 'master'. This is a problem because:

Resolves #35, resolves #31, resolves #25.

Approach

Introduces two new configuration tables - Projects and Repositories. When configuring a repository, it's now possible to specify a Source Control Strategy of either Push or Pull request. It's also possible to configure a target branch e.g. 'master', 'main', 'develop' etc.

A source control strategy of Push will behave similarly to older versions of the Development Hub with one exception - the solution merge will only go to a status of Merged when the commit is in source control. Previously, the solution merge would go to a status of Merged when a new Solution Version record was created with the post-merge unmanaged and managed zips attached. Solution versions have been removed as part of this commit in favour of the source control based approach.

A source control strategy of Pull request will go from a status of Merging to a status of Awaiting PR Merge. When a solution merge reaches this status, a pull request will have been automatically created for the solution merge. It will reach a status of Merged when this pull request has been completed.

TODOs