Examples
This page provides configuration examples for different use cases.
See the examples/ directory in the repository for complete, working example configurations.
Traditional Fedora (Anitya + Packit)
Monitor releases via Anitya and update specs with Packit.
version_source:
type: anitya
config:
token: "your-token"
spec_manager:
type: packit
config: {}
git:
user_name: "Fedora Packager Bot"
user_email: "packager@example.com"
auto_push: false
work_dir: "/var/lib/dist-git-manager"
projects:
- name: "htop"
identifier: 1234
repo_url: "https://src.fedoraproject.org/rpms/htop.git"
release_type: "semver"
default_branch: "rawhide"
upstream_project_url: "https://github.com/htop-dev/htop"
upstream_tag_template: "v{version}"
Rust Packages (crates.io + rust2rpm)
Fetch versions from crates.io and generate specs with rust2rpm.
version_source:
type: crates_io
spec_manager:
type: rust2rpm
git:
user_name: "Rust Packager Bot"
user_email: "rust-bot@example.com"
auto_push: false
work_dir: "/var/lib/dist-git-manager"
projects:
- name: "serde"
identifier: "serde"
repo_url: "https://src.fedoraproject.org/rpms/rust-serde.git"
release_type: "semver"
default_branch: "rawhide"
Python Packages (PyPI + pyp2spec)
Fetch versions from PyPI and generate specs with pyp2spec.
version_source:
type: pypi
spec_manager:
type: pyp2spec
git:
user_name: "Python Packager Bot"
user_email: "python-bot@example.com"
auto_push: false
work_dir: "/var/lib/dist-git-manager"
projects:
- name: "requests"
identifier: "requests"
repo_url: "https://src.fedoraproject.org/rpms/python-requests.git"
release_type: "semver"
default_branch: "rawhide"
Mixed Ecosystems
Use different version sources and spec managers for different projects:
# No global version_source or spec_manager
git:
user_name: "Multi-Language Bot"
user_email: "bot@example.com"
auto_push: false
work_dir: "/var/lib/dist-git-manager"
projects:
# Rust crate
- name: "serde"
identifier: "serde"
repo_url: "https://src.fedoraproject.org/rpms/rust-serde.git"
release_type: "semver"
default_branch: "rawhide"
version_source:
type: crates_io
spec_manager:
type: rust2rpm
# Python package
- name: "requests"
identifier: "requests"
repo_url: "https://src.fedoraproject.org/rpms/python-requests.git"
release_type: "semver"
default_branch: "rawhide"
version_source:
type: pypi
spec_manager:
type: pyp2spec
# Traditional Fedora
- name: "htop"
identifier: 1234
repo_url: "https://src.fedoraproject.org/rpms/htop.git"
release_type: "semver"
default_branch: "rawhide"
version_source:
type: anitya
spec_manager:
type: packit
upstream_project_url: "https://github.com/htop-dev/htop"
upstream_tag_template: "v{version}"
Other Ecosystems
Additional example configurations are available for:
R packages: examples/r_config.yaml
Perl modules: examples/perl_config.yaml
Ruby gems: examples/ruby_config.yaml
Go modules: examples/go_config.yaml
Octave packages: examples/octave_config.yaml
See the examples/ directory for all available examples.