aws-amplify / aws-amplify/amplify-hosting

Individual GitHub Checks for Monorepo with Preview builds

Open
#2,367 1 comment 7 reactions 0 assignees View on GitHub
feature-request
Dominant language
Dockerfile
Stars
481
Forks
123
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**

Related to #2366

We are unable to determine if a single Amplify app has failed as there is only a single GitHub check that is updated for the GitHub Pull Request. This could be a race condition that leads to the last check status winning.

**Describe the solution you'd like**

- Each GitHub Check should include the AppId in the check name.
- Each GitHub Check will set the `output` of the check with the current state: queued, deploying backend, building, testing, deploying frontend.
- Each GitHub Check will set the `conclusion` of the check with the associated conclusion status.
- Each GitHub Check will set the `completed_at` upon completion of the build.

**Additional context**

It is my understanding that each Amplify Application Preview build is orchestrated in isolation, without knowledge of the other builds. If there is an orchestration layer above this for Preview Builds with a monorepo then there could be alternative methods to accomplish the same granularity without a unique check name per Amplify AppId.

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by tracing how Amplify Application Preview builds create and update GitHub Checks, then verify whether monorepo builds are coordinated above individual builds. Done means each AppId has a distinct check whose output, conclusion, and completion time reflect the listed build states.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, github
Domain
ci-cd, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.