David Runge authored
arch_release_promotion/config.py: Add a `SyncConfig` pydantic model to track a global or per project `backlog` (amount of versions synced), `directory` (with which to synchronize), `last_updated_file` (to which to write a timestamp upon changes in the synchronization directory) and `temp_in_sync_dir` (a bool to set whether temporary data is downloaded to the synchronization directory). Add an optional instance of SyncConfig to both `ProjectConfig` and `Projects`. Add a root_validator to `Projects` to allow overriding the `SyncConfig` of each project with implicit or global defaults if no `SyncConfig` is provided. Add validator for `Projects.projects` to ensure, that all `ReleaseConfig` names of each `ProjectConfig` instances are unique. tests/test_config.py: Extend tests for `Projects` in accordance with changes to models.