You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/contrib/coding_guide.rst
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -107,7 +107,7 @@ C++ interface of the R package, please make corresponding changes in ``src/init.
107
107
Generating the Package and Running Tests
108
108
========================================
109
109
110
-
The source layout of XGBoost is a bit unusual to normal R packages as XGBoost is primarily written in C++ with multiple language bindings in mind. As a result, some special cares need to be taken to generate a standard R tarball. Most of the tests are being run on CI, and as a result, the best way to see how things work is by looking at the CI configuration files (GitHub action, at the time of writing). There are helper scripts in ``tests/ci_build`` and ``R-package/tests/helper_scripts`` for running various checks including linter and making the standard tarball.
110
+
The source layout of XGBoost is a bit unusual to normal R packages as XGBoost is primarily written in C++ with multiple language bindings in mind. As a result, some special cares need to be taken to generate a standard R tarball. Most of the tests are being run on CI, and as a result, the best way to see how things work is by looking at the CI configuration files (GitHub action, at the time of writing). There are helper scripts in ``ops/script`` and ``R-package/tests/helper_scripts`` for running various checks including linter and making the standard tarball.
111
111
112
112
*********************************
113
113
Running Formatting Checks Locally
@@ -127,29 +127,29 @@ To run checks for Python locally, install the checkers mentioned previously and
127
127
.. code-block:: bash
128
128
129
129
cd /path/to/xgboost/
130
-
python ./tests/ci_build/lint_python.py --fix
130
+
python ./ops/script/lint_python.py --fix
131
131
132
132
To run checks for R:
133
133
134
134
.. code-block:: bash
135
135
136
136
cd /path/to/xgboost/
137
137
R CMD INSTALL R-package/
138
-
Rscript tests/ci_build/lint_r.R $(pwd)
138
+
Rscript ops/script/lint_r.R $(pwd)
139
139
140
140
To run checks for cpplint locally:
141
141
142
142
.. code-block:: bash
143
143
144
144
cd /path/to/xgboost/
145
-
python ./tests/ci_build/lint_cpp.py
145
+
python ./ops/script/lint_cpp.py
146
146
147
147
148
148
See next section for clang-tidy. For CMake scripts:
149
149
150
150
.. code-block:: bash
151
151
152
-
bash ./tests/ci_build/lint_cmake.sh
152
+
bash ./ops/script/lint_cmake.sh
153
153
154
154
Lastly, the linter for jvm-packages is integrated into the maven build process.
155
155
@@ -163,21 +163,21 @@ To run this check locally, run the following command from the top level source t
163
163
.. code-block:: bash
164
164
165
165
cd /path/to/xgboost/
166
-
python3 tests/ci_build/tidy.py
166
+
python3 ops/script/run_clang_tidy.py
167
167
168
168
Also, the script accepts two optional integer arguments, namely ``--cpp`` and ``--cuda``. By default they are both set to 1, meaning that both C++ and CUDA code will be checked. If the CUDA toolkit is not installed on your machine, you'll encounter an error. To exclude CUDA source from linting, use:
169
169
170
170
.. code-block:: bash
171
171
172
172
cd /path/to/xgboost/
173
-
python3 tests/ci_build/tidy.py --cuda=0
173
+
python3 ops/script/run_clang_tidy.py --cuda=0
174
174
175
175
Similarly, if you want to exclude C++ source from linting:
Copy file name to clipboardExpand all lines: doc/contrib/donate.rst
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,9 +13,9 @@ DMLC/XGBoost has grown from a research project incubated in academia to one of t
13
13
14
14
A robust and efficient **continuous integration (CI)** infrastructure is one of the most critical solutions to address the above challenge. A CI service will monitor an open-source repository and run a suite of integration tests for every incoming contribution. This way, the CI ensures that every proposed change in the codebase is compatible with existing functionalities. Furthermore, XGBoost can enable more thorough tests with a powerful CI infrastructure to cover cases which are closer to the production environment.
15
15
16
-
There are several CI services available free to open source projects, such as Travis CI and AppVeyor. The XGBoost project already utilizes GitHub Actions. However, the XGBoost project has needs that these free services do not adequately address. In particular, the limited usage quota of resources such as CPU and memory leaves XGBoost developers unable to bring "too-intensive" tests. In addition, they do not offer test machines with GPUs for testing XGBoost-GPU code base which has been attracting more and more interest across many organizations. Consequently, the XGBoost project uses a cloud-hosted test farm. We use `BuildKite <https://buildkite.com/xgboost>`_ to organize CI pipelines.
16
+
There are several CI services available free to open source projects, such as Travis CI and AppVeyor. The XGBoost project already utilizes GitHub Actions. However, the XGBoost project has needs that these free services do not adequately address. In particular, the limited usage quota of resources such as CPU and memory leaves XGBoost developers unable to bring "too-intensive" tests. In addition, they do not offer test machines with GPUs for testing XGBoost-GPU code base which has been attracting more and more interest across many organizations. Consequently, the XGBoost project uses a cloud-hosted test farm. We host `Amazon Web Services (AWS) <https://aws.amazon.com/>`_ to host the test machines, along with `GitHub Actions <https://github.com/features/actions>`_ and `RunsOn <https://runs-on.com/>`_ (SaaS app) to organize the CI pipelines.
17
17
18
-
The cloud-hosted test farm has recurring operating expenses. It utilizes a leading cloud provider (AWS) to accommodate variable workload. BuildKite launches worker machines on AWS on demand, to run the test suite on incoming contributions. To save cost, the worker machines are terminated when they are no longer needed.
18
+
The cloud-hosted test farm has recurring operating expenses. RunsOn launches worker machines on AWS on demand to run the test suite on incoming contributions. To save cost, the worker machines are terminated when they are no longer needed.
19
19
20
20
To help defray the hosting cost, the XGBoost project seeks donations from third parties.
21
21
@@ -29,9 +29,9 @@ The Project Management Committee (PMC) of the XGBoost project appointed `Open So
29
29
30
30
All expenses incurred for hosting CI will be submitted to the fiscal host with receipts. Only the expenses in the following categories will be approved for reimbursement:
31
31
32
-
* Cloud expenses for the cloud test farm (https://buildkite.com/xgboost)
32
+
* Cloud expenses for the cloud test farm
33
33
* Cost of domain https://xgboost-ci.net
34
-
* Monthly cost of using BuildKite
34
+
* Annual subscription for RunsOn
35
35
* Hosting cost of the User Forum (https://discuss.xgboost.ai)
0 commit comments