Skip to content
  • David Runge's avatar
    config: Add integration to configure synchronization · 598f81b5
    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.
    598f81b5