0

All MFEs are deployed using a single shared GitHub Actions workflow. This workflow handles deployment for any MFE that has been updated and updates a shared manifest file that lists all deployed MFE versions and artifact locations.

When multiple developers trigger deployments at the same time, parallel workflow runs:

  1. Read the same old manifest.
  2. Update their own MFE entry.
  3. Overwrite the manifest entirely.

This causes a race condition, where the final manifest may contain outdated pointers (e.g., app-cashier deployment overwriting a newer app-notifications entry).

I have idea to separate shared manifest into one-manifest-per-one-mfe. But it is still foggy how to merge it into single one later(using Lambda or whatelse) because it can cause concurrency issue too.

Blocking parallel execution of workflow is not solution too, it will cause big queue in Github Actions.

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.