Commit 6b30427f authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

separate build chapter

parent 2f83e5a2
Loading
Loading
Loading
Loading
+12 −27
Original line number Diff line number Diff line
Build and test
==============

The Continuous Integration is based on Jenkins.
A push to git repository will trigger a build for the package on Jenkins platform.
Then an email with a build log and unit test coverage report will be delivered to
the relavant developer.
A push to git repository will trigger an automatic build and test on the Jenkins platform.
Then a notification email from ``csst_das@nao.cas.cn`` is composed,
attached with a ``build log`` and a ``coverage report``,
is sent to relavant developers and code reviewers.


``build status`` explained
--------------------------

The ``build status`` is in the subject of the notification email from ``csst_das@nao.cas.cn``
The ``build status`` is in the subject of the notification email.
Here are the explanations of them.

Successful
@@ -28,11 +28,11 @@ Still Failing

The build log includes 6 sections.

Check on versions of requirements
[1/6] Check on versions of requirements
   The status will be non-zero if any of your requirements is behind other developers.
Check on installation of requirements
[2/6] Check on installation of requirements
   The status will be non-zero if ``pip install -r requirements.txt`` exit with non-zero status.
Check on installation of package
[3/6] Check on installation of package
   The status will be non-zero if the following code are unsuccessfully executed

   .. code-block:: bash
@@ -42,21 +42,21 @@ Check on installation of package
      python setup.py sdist                                 # build source code
      pip install dist/*.tar.gz --force-reinstall --no-deps # install package without dependencies

Check on import of interfaces (``top_level_interface``)
[4/6] Check on import of interfaces (``top_level_interface``)
   The status will be non-zero if the following code are unsuccessfully executed

   .. code-block:: python

      from <your_package>.top_level_interface import *

Run unit tests and coverage
[5/6] Run unit tests and coverage
   The status will be non-zero if the following code are unsuccessfully executed

   .. code-block:: bash

      coverage run -m pytest --import-mode=importlib

``Numpydoc`` validation of interfaces
[6/6] ``Numpydoc`` validation of interfaces

   .. code-block:: bash

@@ -114,18 +114,3 @@ The Numpy style docstring check is only for the packages listed below.
- csst_ms_mbi_photometry

We welcome other packages participate in.


Continuous integration
======================

Using ``Jenkins``
-----------------

... how to use jenkins


Using ``docker``
----------------

to be updated
+13 −0
Original line number Diff line number Diff line
Continuous integration
======================

Using ``Jenkins``
-----------------

to be updated


Using ``docker``
----------------

to be updated
 No newline at end of file