microsoft / coe-starter-kit

Other
748 stars 221 forks source link

Porting Azure DevOps pipelines to GitHub Actions #47

Open devkeydet opened 4 years ago

devkeydet commented 4 years ago

https://powerapps.microsoft.com/en-us/blog/github-actions-for-the-power-platform-now-available-in-preview/

AB#1344

devkeydet commented 3 years ago

Our pipelines make extensive use of yaml templates.
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates GitHub doesn't have a similar concept. We're waiting on GitHub to introduce such a capability. Until then, we are open to suggestions of how to port our yaml files to GitHub yaml

devkeydet commented 3 years ago

GitHub still doesn't support this. For now, the plan will be to use: https://github.com/mithro/actions-includes

This will allow us to reuse the logic we need to reuse, but builds a full yaml file through preprocessing.

devkeydet commented 3 years ago

https://github.com/github/roadmap/issues/98 GitHub has recently updated their roadmap to support Reusable Workflows. We will wait until Reusable Workflows are available.

taerimhan commented 3 years ago

Hi Marc, with the comment you made regarding the https://github.com/mithro/actions-includes, when would this work go ahead, if not already? In my organisation, we want to start porting the custom Azure DevOps pipelines to GitHub actions. Just wanted to get some clarification on which direction to take, thank you.

devkeydet commented 3 years ago

@taerimhan - We have decided not to use https://github.com/mithro/actions-includes. The comment after the one referencing that project states: "We will wait until Reusable Workflows are available". This is because it is on the GitHub roadmap Q3 2021 – Jul-Sep. Starting work using https://github.com/mithro/actions-includes would be throwaway technical debt we don't want to incur.

devkeydet commented 3 years ago

GitHub reusable workflows are now in beta: https://docs.github.com/en/actions/learn-github-actions/reusing-workflows

devkeydet commented 3 years ago

I have some working prototypes of GitHub workflows, using reusable workflows, that function conceptually like our Azure DevOps pipelines. The prototypes don't do everything our pipelines do but are a good start that we can bring into this repo when ready and build on to get to a functionally equivalent set of GitHub actions-based workflows.

https://github.com/devkeydet/pva-alm/blob/main/.github/workflows/

The repo linked above will have lots of churn until the GitHub YAML is fully ported to behave like our Azure DevOps YAML.

mohsinonxrm commented 2 years ago

@devkeydet , does this still work with Azure DevOps, or is the plan to make it work with GitHub only going forward? https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup-almaccelerator

devkeydet commented 2 years ago

Sorry for the slow response. I missed this one. The accelerator you linked to (ALM Accelerator for Makers) targets GitHub, not Azure DevOps. What we previously called the ALM Accelerator for Advanced Makers will be rebranded the ALM Accelerator for Power Platform. The December release of the ALM Accelerator for Power Platform will introduce a more maker friendly experience inspired by the ALM Accelerator for Makers. This is all part of our ongoing work to consolidate to a single accelerator that offers both a maker friendly experience and the full control advanced makers want, in a configurable way. In a subsequent release, we will add GitHub support. We will not remove Azure DevOps support. When we add GitHub support to the unified accelerator, we will have parity of capabilities across GitHub and Azure DevOps.