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. .. code-block:: yaml 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}" See `examples/anitya_config.yaml `_ Rust Packages (crates.io + rust2rpm) ------------------------------------- Fetch versions from crates.io and generate specs with rust2rpm. .. code-block:: yaml 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" See `examples/crates_config.yaml `_ Python Packages (PyPI + pyp2spec) ---------------------------------- Fetch versions from PyPI and generate specs with pyp2spec. .. code-block:: yaml 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" See `examples/pypi_config.yaml `_ Mixed Ecosystems ---------------- Use different version sources and spec managers for different projects: .. code-block:: yaml # 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}" See `examples/mixed_config.yaml `_ 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.