Skip to content

Conversation

@alexrashed
Copy link
Member

@alexrashed alexrashed commented Sep 10, 2025

Motivation

In order to streamline upgrades of this fork with the upstream repo (getmoto/moto), and in order to implement proper continuous integration of moto(-ext) in localstack/localstack, we want to:

  1. Automate the whole sync and release process of this repo.
  2. Automate the update of moto-ext in localstack/localstack.

This PR tackles (1).

Changes

  • Add a new workflow which:
    1. Syncs (rebases) the localstack branch of this repo with the master branch of the upstream repo (getmoto/moto).
    2. Introduces a new deterministic versioning scheme by using setuptools_scm (based on the distance to the latest tag).
    • This means that there could potentially be a conflict / a smaller version if there are no changes upstream and we remove a commit in our fork. But this is very unlikely.
    1. Build the distributions with this new version.
    2. Tag the result.
    3. Push the distributions to PyPi.
    4. Push the commit and the tag and create a new release in the GitHub repo.

ToDo

  • Figure out how to perform a clean rebase with d901045 (which is problematic with upstream changes to the version (hopefully without writing a customer git merge driver 😅)
    • A merge driver it is...
  • Testing
  • Remove this branch from the list of branches which are allowed to use the pypi environment.

/cc @viren-nadkarni

@alexrashed alexrashed force-pushed the automatic-ci branch 2 times, most recently from 392b6a0 to 5406057 Compare September 10, 2025 15:06
@alexrashed alexrashed added the enhancement New feature or request label Sep 11, 2025
@alexrashed
Copy link
Member Author

@viren-nadkarni The PR is still in draft, because it still needs to be "armed" / i.e. we need to un-comment the actual push commands and remove the "push" trigger on the workflow, but I would love to get a review from your side at this point before continuing to work on this PR.
Thanks!

@alexrashed
Copy link
Member Author

FYI: From what I can tell, the failing test pipeline really only fails because our fork is a bit outdated right now. The failures are not associated to the changes in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants