.. _copr: Pagure Dist Git Interactions With COPR ====================================== `Copr `__ ("Community projects") is a service that builds your open-source projects and creates your own RPM repositories. Possible Interactions --------------------- The following are a set of documented interactions possible between Pagure Dist Git and COPR. Builds logic ~~~~~~~~~~~~ - COPR is using API calls for flagging dist-git commits or pull requests in `build_logic.py module `_. It is calling ``/api/0//pull-request//flag`` and ``/api/0//c//flag`` API endpoints. CLI client ~~~~~~~~~~ - COPR is doing ``git clone`` from dist-git, which is wrapped in ``copr-distgit-client clone --dist-git fedora ``. Fedora messaging ~~~~~~~~~~~~~~~~ - COPR is listening to following dist-git topics: - ``org.fedoraproject.prod.pagure.git.receive`` - ``org.fedoraproject.prod.pagure.pull-request.new`` - ``org.fedoraproject.prod.pagure.pull-request.rebased`` - ``org.fedoraproject.prod.pagure.pull-request.updated`` - ``org.fedoraproject.prod.pagure.pull-request.comment.added`` - These topics are configured in `frontend messaging configuration `_. Changes proposed ---------------- In order to switch out Pagure Dist Git for an alternative that provides a relatively compatible API pattern, the following changes must be made in the places mentioned below. Necessary ~~~~~~~~~ - There are few configuration files that points to current dist-git. If the URL should change we would need to update `rpkg.conf `_ and `main.ini `_ with the URL to new service. - In case the message schema of the new dist-git will change we need to update consumed topics in `frontend messaging configuration `_. Unnecessary ~~~~~~~~~~~ - There isn't much interactions between Fedora dist-git and COPR and no change is needed that would be unnecessary to do in case dist-git will change.