diff --git a/service/jenkins.md b/service/jenkins.md index dbcca15a8d7069af6fa6d9b0b66f547f65e1a1d5..5daf9008e2771ac43a470e1fb5c355559d1145a2 100644 --- a/service/jenkins.md +++ b/service/jenkins.md @@ -241,9 +241,58 @@ software, after donating it to the Eclipse foundation. Jenkins is mostly written in Java, with about a million lines of code. -### Configured jobs and users - -TODO: document which jobs exist, broadly, and who uses Jenkins. +### Configured jobs + +The following jobs are currently configured in [jenkins/jobs.git](https://gitweb.torproject.org/project/jenkins/jobs.git/): + + * [hugo-website.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/hugo-website.yaml) - builds websites with [Hugo](https://gohugo.io/) and + publishes them to the static mirror system. jobs based on this + template: + * hugo-website-research: builds <https://research.torproject.org/> + * hugo-website-status: builds <https://status.torproject.org/> (see + also [the status service](service/status) + * [lektor-website.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/lektor-website.yaml) - builds websites with [Lektor](https://www.getlektor.com/) and + publishes them to the static mirror system. jobs based on this + template: + * lektor-website-community: <https://community.torproject.org> + * lektor-website-donate: <https://donate.torproject.org> + * lektor-website-gettor: <https://gettor.torproject.org> + * lektor-website-newsletter: <https://newsletter.torproject.org> + * lektor-website-styleguide: <https://styleguide.torproject.org> + * lektor-website-support: <https://support.torproject.org> + * lektor-website-torbrowser-manual: <https://tb-manual.torproject.org> + * lektor-website-www: <https://www.torproject.org> + * lektor-website-dev: code for the future developer portal + * lektor-website-translation: this one is pecular and holds + translations for the above websites, one branch per project, + according to [the git repo](https://gitweb.torproject.org/translation.git/) + * [onionperf-docs.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/onionperf-docs.yaml): builds the [onionperf](https://gitweb.torproject.org/onionperf.git) documentation + using [Sphinx](https://www.sphinx-doc.org/) and publishes them to the static mirror system + * [stem.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/stem.yaml): builds <https://stem.torproject.org/> and pushes to + static + * [tor-extra-libs-windows.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/tor-extra-libs-windows.yaml): TBD + * [tor.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/tor.yaml): lots of jobs for the [core tor repository](https://gitweb.torproject.org/tor.git), + notably builds: + * `tor-ci-linux-$version-$variant`: various CI jobs (hardening, + rust, basic CI, clang, fuzzing, windows, mingw, etc) + * nightly debian package builds, shipped to + <https://deb.torproject.org> + * doxygen docs at <https://src-ref.docs.torproject.org> + * [torsocks.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/torsocks.yaml): runs CI for tor socks + * [website.yaml](https://gitweb.torproject.org/project/jenkins/jobs.git/tree/website.yaml): old WebWML website build, deprecated + +### Users + +From the above list, we can tentatively conclude the following teams +are actively using Jenkins: + + * **web team**: virtually all websites are built in Jenkins, and heavily + depend on the static site mirror for proper performance + * **network team**: the core tor project is also a heavy user of + Jenkins, mostly to run tests and checks, but also producing some + artefacts (Debian packages and documentation) + * **TPA**: uses Jenkins to build the status website + * **metrics team**: onionperf's documentation is built in Jenkins ## Monitoring and testing @@ -358,5 +407,4 @@ exceptions. ### other jobs -TODO: clarify which jobs are in Jenkins and how they can be replaced -with GitLab CI. +TODO: clarify how jobs will be replaced, presumably with GitLab CI