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

separate build chapter

parent 2f83e5a2
Pipeline #211 passed with stages
in 14 seconds
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
......@@ -86,7 +86,7 @@ An example is below.
.. code-block::
Name Stmts Miss Cover
Name Stmts Miss Cover
-------------------------------------------------------
csst_proto/__init__.py 3 0 100%
csst_proto/demo.py 8 3 62%
......@@ -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
Continuous integration
======================
Using ``Jenkins``
-----------------
to be updated
Using ``docker``
----------------
to be updated
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment