Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update outdated automated build process doc #38788

Merged
merged 2 commits into from
Feb 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 13 additions & 22 deletions dev-docs/source/AutomatedBuildProcess.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ The status for each build will be either pending, success or failed.

.. image:: images/BuildStatuses.png

To see the details of a particular build in Jenkins click on Details
To see the details of a particular build in Jenkins, click on Details
next to the status. To restart a build, if it failed with a spurious
error not related to your code changes, then you can restart that
particular build by selecting Rebuild in Jenkins. Then press rebuild
again on the next screen while not changing any of the parameters. If
you don't have permission to restart builds in Jenkins you will have
particular build by selecting Rebuild in Jenkins. Then press "Rebuild"
on the next screen while not changing any of the parameters. If
you don't have permission to restart builds in Jenkins, you will have
to ask someone who does.

.. image:: images/RestartBuild.png
Expand All @@ -48,23 +48,14 @@ The pull request builder we are using is called `Leeroy
You can find a list of all the pull request Jenkins jobs at `here
<http://builds.mantidproject.org/view/Pull%20Requests/>`_.

Main Pipeline
^^^^^^^^^^^^^
Nightly Pipelines
^^^^^^^^^^^^^^^^^

The `main pipeline <http://builds.mantidproject.org/view/Main%20Pipeline/>`_
is a series of jobs that periodically run against code on the ``main`` branch.
Their purpose is to provide reasonable assurance that the code currently in
``main`` is usable in its current state.
The nightly pipelines are Jenkins jobs responsible for building Mantid packages
and deploying them to the Mantid conda channel. They build both nightly and release versions.
You can find them on `this page <https://builds.mantidproject.org/view/Nightly%20Pipelines/>`_.

The main tasks carried out by the pipeline are, for each supported platform:

* Build Mantid and installers (``main_clean-PLATFORM``)
* Run automated testing (``main_clean-PLATFORM``,
``main_systemtests-PLATFORM``)
* Deploy installers to nightly download locations (``main_deploy``)

The pipeline view in Jenkins shows the order of dependency between these jobs.

The most upstream jobs (i.e. ``main_clean-PLATFORM``) are triggered to start
at midnight UTC assuming there were changes pushed to the ``main`` branch
since the last time they ran.
The `build_packages_from_branch <https://builds.mantidproject.org/view/Nightly%20Pipelines/>`_
is a Jenkins job based on these nightly jobs that allows you to manually build packages
from an upstream branch in the Mantid repository. For the full guide on how to use the
job, please follow `this link <https://developer.mantidproject.org/Packaging.html#build-packages-from-branch-using-jenkins>`_.
Binary file modified dev-docs/source/images/BuildStatuses.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified dev-docs/source/images/RestartBuild.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.