- 14 Apr, 2022 7 commits
-
-
David Runge authored
pyproject.toml: Update project version to 0.2.2
-
renovate authored
-
renovate authored
-
David Runge authored
arch_release_promotion/files.py: Ignore untyped call to `text_fd_to_metric_families()` in `read_metric_file()`.
-
David Runge authored
tests/test_torrent.py: Apply black to the file.
-
David Runge authored
poetry.lock: Update poetry lock file
-
David Runge authored
pyproject.toml: Update the python requirement to 3.10. Update the prometheus-client requirement to 0.14.1. Update the pytest dev requirement to 7.1. Update the black dev requirement to 22.3. Update the mypy dev requirement to 0.942. Update the flake8 dev requirement to 4.0.1. Update the coverage dev requirement to 6.1. Change the build-system to also pull in setuptools as some dependencies do not build properly. Change the mypy configuration to show specific error codes.
-
- 13 Apr, 2022 1 commit
-
-
renovate authored
-
- 08 Sep, 2021 4 commits
-
-
David Runge authored
* issues/16: Set project version to 0.2.1 Add documentation for systemd and sysusers.d integration Add example for systemd integration Add example for sysusers.d integration Set default sync dir to /var/lib/arch-release-sync
-
David Runge authored
pyproject.toml: Raise project version to 0.2.1.
-
David Runge authored
README.rst: Add documentation on where to find the systemd and sysusers.d integration and how they relate to one another.
-
David Runge authored
examples/systemd/arch-release-sync.service: Add an example systemd system service with applied hardening, that allows synchronization to the default sync location. examples/systemd/arch-release-sync.timer: Add and example systemd system timer that triggers running arch-release-sync.service hourly.
-
- 06 Sep, 2021 2 commits
-
-
David Runge authored
examples/sysusers.d/arch-release-promotion.conf: Add an example sysusers.d configuration file to create the arch-release-sync user on a target system.
-
David Runge authored
arch_release_promotion/config.py: Change PROJECTS_SYNC_DIR to /var/lib/arch-release-sync (as arch-release-promotion does not reflect the used executable).
-
- 05 Sep, 2021 14 commits
-
-
David Runge authored
* issues/12: pyproject.toml: Update project version to 0.2.0 README: Extend with information on arch-release-sync example.toml: Add synchronization related documentation Add script entrypoint for arch-release-sync cli: Add entrypoint for arch-release-sync files: Add ProjectFiles class to handle synchronization gitlab: More explicit print when downloading build artifacts gitlab: Implement download of promotion artifact argparse: Add parser for arch-release-sync gitlab: Change signature of constructor gitlab: More generically retrieve types of releases config: Make PRIVATE_TOKEN optional config: Add integration to configure synchronization
-
David Runge authored
pyproject.toml: Set project version to 0.2.0. Change project description and extend keywords to reflect the extended project scope.
-
David Runge authored
README.rst: Extend with information on arch-release-sync, how to configure it and how its synchronization behaves. Add gnupg explicitly to non-language dependencies for the tooling.
-
David Runge authored
examples/example.toml: Add documentation on the global and per-project `sync_config` table and their options `backlog`, `directory`, `last_updated_file`, `temp_in_sync_dir`.
-
David Runge authored
pyproject.toml: Extend tool.poetry.scripts table to add an entrypoint for `arch-release-sync`.
-
David Runge authored
arch_release_promotion/cli.py: Add `arch_release_sync()` as entrypoint for arch-release-sync, using `files.ProjectFiles.sync()` to synchronize any configured releases for a given project.
-
David Runge authored
arch_release_promotion/files.py: Add `load_release_from_json_payload()` to read a JSON payload and return it as a Release instance. Add the `ProjectFiles` class to aid in the synchronization of promoted release types of a project by bundling all necessary functionality. The special factory method `ProjectFiles.sync()` allows the creation of a `ProjectFiles` instance and direct synchronization of the configured amount of release versions of the project. tests/test_files.py: Add tests for `load_release_from_json_payload()`. Add tests for `ProjectFiles` and all of its classmethods and instance methods.
-
David Runge authored
arch_release_promotion/gitlab.py: Change `Upstream.download_release()` to also print the name of the project.
-
David Runge authored
arch_release_promotion/gitlab.py: Add `download_promotion_artifact()` to allow download of a project release's promotion artifact to a directory. tests/test_gitlab.py: Add tests for `download_promotion_artifact()`.
-
David Runge authored
arch_release_promotion/argparse.py: Add `ArgParseFactory.synchronize()` classmethod to add a simple entrypoint for `arch-release-sync`, that supports the `-p`/`--project` optional parameters and display of version information. tests/test_argparse.py: Add tests for `ArgParseFactory.synchronize()`.
-
David Runge authored
arch_release_promotion/gitlab.py: Change the `Upstream` constructor to accept private_token to be an optional string.
-
David Runge authored
arch_release_promotion/gitlab.py: Add `Upstream.get_releases()` to allow retrieval of promoted or unpromoted releases of an arbitrary upper limit. Change `Upstream.select_release()` to use `Upstream.get_releases()`. tests/test_gitlab.py: Add parametrized test for `Upstream.get_releases()`.
-
David Runge authored
arch_release_promotion/config.py: Change `Settings.PRIVATE_TOKEN` to become an optional attribute, as it is not required for readonly scenarios. Order all `Settings` attributes alphabetically and add documentation for them and their respective default values. Change `Settings.validate_private_token()` to reflect the change in type for `Settings.PRIVATE_TOKEN`. tests/test_config.py: Extend tests to also check for cases where `Settings.PRIVATE_TOKEN` is None.
-
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.
-
- 14 Aug, 2021 1 commit
-
-
David Runge authored
* nl6720/gpg-options: signature.py: enforce sane gpg options
-
- 13 Aug, 2021 1 commit
-
-
nl6720 authored
* Add --batch since gpg is not run manually. * Add --no-armor to ensure that a .sig file is created instead of .asc in case gpg.conf sets the armor option. * Add --no-include-key-block to skip including the public key in the signature and force the user who verifies the signature to acquire the public key from elsewhere. Fixes #15.
-
- 09 Aug, 2021 10 commits
-
-
David Runge authored
* origin/issues/14: Increase project version to 0.1.1 pyproject.toml: Add examples to sdist tarball
-
David Runge authored
pyproject.toml: Set project version to 0.1.1
-
David Runge authored
pyproject.toml: Add example files to sdist tarball.
-
David Runge authored
* origin/issues/13: Update poetry lock file pyproject.toml: Update dependency versions pyproject.toml: Add metadata .gitignore: Add dist directory
-
David Runge authored
poetry.lock: Update the poetry lock file by updating all dependencies to their respective latest versions.
-
David Runge authored
pyproject.toml: Update python-dotenv, python-gitlab and orjson to their respective current version.
-
David Runge authored
pyproject.toml: Add project metadata via `readme`, `homepage`, `repository`, `documentation`, `keywords`, `classifiers` and additional links in a `[tool.poetry.urls]` section.
-
David Runge authored
.gitignore: Add the dist directory to the ignore file.
-
David Runge authored
* origin/issues/10: README: Point to example configuration Add an example file for projects configuration README: Change openmetrics section into configuration subsection README: Move "Use" section below "Requirements" section README: Update JSON payload section README: Fix typo in Configuration section README: Add section about promotion artifact Fix releng example configuration
-
David Runge authored
README.rst: Point to the example.toml for documentation purposes.
-