diff --git a/docs/images/gbp-buildpackage.uml b/docs/images/gbp-buildpackage.uml new file mode 100644 --- /dev/null +++ b/docs/images/gbp-buildpackage.uml @@ -0,0 +1,46 @@ +@startuml + participant REPO as "git-repository" + participant FORGE as "phabricator forge" + participant CI as "gbp-buildpackage job" + participant DEBIAN_REPO as "debian repository" + activate REPO + activate CI + + REPO->CI: new tag on branch debian/unstable-swh (or debian/stretch-swh) + + alt If params.PHID is set + activate FORGE + CI->FORGE: pyarcanist sends a notification message on starting job + end + + CI-->CI: Clone repository locally + CI-->CI: Checks for right setup (debian/changelog ok, debian/gbp.conf ok, etc...) + alt if setup checks are fine + CI-->CI: add ceph's gpg public key in job agent node + CI-->CI: builds debian package from source for "various" targets\ndepending on params (extra debian repository, dependency resolver, etc...)\nor debian/changelog (debian/unstable-swh, debian/stretch-swh) + alt if params.DO_UPLOAD is true + CI-->CI: jenkins signs the *.changes file + activate DEBIAN_REPO + CI->DEBIAN_REPO: uploads the debian package + deactivate DEBIAN_REPO + end + alt if params.DO_TAG + CI-->REPO: gbp pushes the new tag + deactivate REPO + end + end + + activate FORGE + CI->FORGE: pyarcanist sends a notification message on job's status + deactivate FORGE + + legend left + | short name | description | + | debian repo | https://debian.softwareheritage.org | + | phabricator forge | https://forge.softwareheritage.org | + | params.PHID | job parameter to identify a specific phabricator git repository | + | params.DO_UPLOAD | job parameter to upload or not the package to the debian repo | + | params.DO_TAG | job parameter to effectively push the new tag or not | + endlegend + +@enduml