arcade-services icon indicating copy to clipboard operation
arcade-services copied to clipboard

Create a design for build-less forward code flow

Open premun opened this issue 1 year ago • 1 comments

Context

The code flow model for code flowing from product repos to the VMR after the first Unified Build deliverable (.NET 10 timeframe) will end up looking like this:

  1. Product repo merges a PR (in GitHub)
  2. Commit is mirrored to Azure DevOps repo
  3. Official build of the repo is started
  4. Repository might be built (to verify the commit is fine) but not necessarily as packages will be built in the VMR
  5. Build is registered in BAR and assigned to a channel
  6. Code flow subscription is triggered from the channel to VMR and PR with code changes is opened in the VMR

Technically, step 4. can be a very quick operation - a no-op build that just needs to ping Maestro. But it still requires YAML, some tooling, an agent to boot etc. Maybe we could skip this step?

Goal

  • Explore how we could trigger forward flow updates without the need to queue an official build. Example: Maestro watches for push commit events and acts on these directly. Or maybe the mirroring service pings Maestro.
  • Create a design with a proposal for a possible north-star the code flow should aim for. The design should also mention possible intermediate milestones and how to reach the end state.

premun avatar Dec 05 '24 13:12 premun

Technically, step 4. can be a very quick operation - a no-op build that just needs to ping Maestro. But it still requires YAML, some tooling, an agent to boot etc.

I wonder if we can use https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/invoke-rest-api-v1?view=azure-pipelines&tabs=yaml on an agentless (server-side) job to ping Maestro as an intermediate step, I agree that the north star should be that we don't need the repo official build anymore.

akoeplinger avatar Dec 05 '24 13:12 akoeplinger