Skip to content

Commit 903f01e

Browse files
napetrovethanglaserahuber21
authored
introduce initial version of CI description for oneDAL (#223)
* introduce initial version of CI descrition * Apply suggestions from code review Co-authored-by: ethanglaser <[email protected]> Co-authored-by: Andreas Huber <[email protected]> * fixing links and typos * fixing links and typos * adding sklearnex ci * adding sklearnex ci * fixing typo * Apply suggestions from code review Co-authored-by: ethanglaser <[email protected]> * Update project-infrastructure/project-ci-documentation.md * Update project-infrastructure/project-ci-documentation.md --------- Co-authored-by: ethanglaser <[email protected]> Co-authored-by: Andreas Huber <[email protected]>
1 parent 61f170d commit 903f01e

File tree

1 file changed

+71
-11
lines changed

1 file changed

+71
-11
lines changed

project-infrastructure/project-ci-documentation.md

Lines changed: 71 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -99,27 +99,87 @@ Software Versions:
9999
oneDAL
100100
------
101101

102-
Representative: Nikolay Petrov
102+
Representative: [Nikolay Petrov](https://github.com/napetrov)
103103

104-
Support contact for CI:
104+
Support contacts for CI:
105105

106-
*Existing public CI*
106+
| Area | Owner |
107+
| ------------------ | --------------------------------------------------------------------------------------------------- |
108+
| AArch64 | [Hamza Butt](https://github.com/theComputeKid) [Rakshith G B](https://github.com/rakshithgb-fujitsu)|
109+
| RISC-V | [Keeran Rothenfusser](https://github.com/keeranroth) |
110+
| x64, new platforms | [Nikolay Petrov](https://github.com/napetrov) |
107111

108-
| Owner | Type | OS | Number | Active? | How to access logs |
109-
| --- | --- | --- | --- | --- | --- |
110-
| ? | ? | ? | ? | ? | ? |
112+
More details available in [MAINTAINERS.md](https://github.com/uxlfoundation/oneDAL/blob/main/MAINTAINERS.md)
111113

112-
*Required Public CI Infrastruture Needed To Confidently Accept Contributions*
114+
### *Existing public CI*
115+
116+
oneDAL
117+
118+
| Platform | Type | OS | Number | Active? | Comments |
119+
| --- | --- | --- | --- | --- | --- |
120+
| Github | CPU AArch64 | Linux | 2 | Yes | 2 Pipelines on Physical Arm systems Github hosted and Arm-Hosted. [ci-aarch64.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/ci-aarch64.yml) |
121+
| Github | Intel GPU (ICX compiler) | Linux | 1 | Yes* | Pipeline configured for GPU validation on uxlfoundation GPU runners, currently disabled due to issues with Tiber Cloud. [ci.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/ci.yml) |
122+
| Github | ABI conformance | Linux | 1 | Yes | ABI compatibility runs that compare PR to the main. [ci.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/ci.yml) |
123+
| Github | Docker validation | Linux | 1 | Yes | Validation of oneDAL development env docker file. [docker-validation-ci.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/docker-validation-ci.yml) |
124+
| Github | CPU Nightly | Linux, Windows | 2 | Yes | Nightly builds and broader validation for oneDAL. [nightly-build.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/nightly-build.yml) |
125+
| Github | Copyright headers check | Linux | 1 | Yes | Check for proper copyright headers. [skywalking-eyes.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/skywalking-eyes.yml) |
126+
| Github | PR checklist validation | Linux | 1 | Yes | Validation of PR conformance. [pr-checklist.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/pr-checklist.yml) |
127+
| Github | Documentation deployment to gh-pages | Linux | 1 | Yes | Automatic docs deployment with release tag creation. [docs-release.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/workflows/docs-release.yml) |
128+
| Mergify | Helper automation for merges/backporting | Linux | 1 | Yes | Automated labels assignment, removal of renovate branches. [.mergify.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.github/.mergify.yml) |
129+
| Renovate | Automated dependency updates | Linux | 1 | Yes | Dependabot alternative, manages dependency updates for components. [renovate.json](https://github.com/uxlfoundation/oneDAL/blob/main/.github/renovate.json) |
130+
| Azure DevOps | Clang format check| Linux | 1 | Yes | Enforce coding standards. [ci.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.ci/pipeline/ci.yml) |
131+
| Azure DevOps | CI build/test for x86/ARM/RISC-V with OS compilers | Linux, Windows | 8 | Yes | Intel build natively, ARM and RISC-V with cross-platform build and QEMU emulation. Build with GCC/VC compilers. [ci.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.ci/pipeline/ci.yml) |
132+
| Azure DevOps | CI build/test with Bazel | Linux | 1 | Yes | Bazel-based build and validation. [ci.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.ci/pipeline/ci.yml) |
133+
| Azure DevOps | oneDAL documentation build | Linux | 1 | Yes | Build documentation for validation purposes in CI. [docs.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.ci/pipeline/docs.yml) |
134+
| Azure DevOps | sklearnex validation | Linux | 1 | Yes | Checking out sklearnex sources, doing build and validation with oneDAL PR changes. [ci.yml](https://github.com/uxlfoundation/oneDAL/blob/main/.ci/pipeline/ci.yml) |
135+
| Codefactor | Codefactor checks | N/A | 1 | Yes | Enforcing code checks in PRs, Bandit, and other code quality checks. [Codefactor](https://www.codefactor.io/repository/github/uxlfoundation/onedal) |
136+
137+
scikit-learn-intelex
138+
139+
| Platform | Type | OS | Number | Active? | Comments |
140+
| --- | --- | --- | --- | --- | --- |
141+
| Mergify | Helper automation for merges/backporting | Linux | 1 | Yes | Automated labels assignment, removal of renovate branches. [.mergify.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.github/.mergify.yml) |
142+
| Renovate | Automated dependency updates | Linux | 1 | Yes | Dependabot alternative, manages dependency updates for components. [renovate.json](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.github/renovate.json) |
143+
| Azure DevOps | CI conda based | Linux, Windows | 10 | Yes | CI build and testing for different scikit/python combinations [ci.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.ci/pipeline/ci.yml) |
144+
| Azure DevOps | Documentation validation | Linux | 10| Yes | Documentation build validation [docs.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.ci/pipeline/docs.yml) |
145+
| Azure DevOps | Linting | Linux | 1 | Yes | Linting enforcement through pre-commit [linting.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.ci/pipeline/linting.yml) |
146+
| Azure DevOps | Nightly | Linux | 1 | Yes | Nightly validation against scikit-learn main branch [nightly.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.ci/pipeline/nightly.yml) |
147+
| Azure DevOps | Coverity | Linux | 1 | Yes | [Coverity](https://scan.coverity.com/projects/daal4py) scans [nightly.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.ci/pipeline/nightly.yml) |
148+
| Azure DevOps | Releases validation | Linux, Windows | 12 | Yes | Validation of already released versions in pypi and conda-forge [ci.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.ci/pipeline/release.yml) |
149+
| Github | CI venv based | Linux, Windows | 6 | Yes | CI build and testing for different scikit/python combinations. [ci.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.github/workflows/ci.yml) |
150+
| Github | Copyright headers check | Linux | 1 | Yes | Check for proper copyright headers. [skywalking-eyes.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.github/workflows/skywalking-eyes.yml) |
151+
| Github | PR checklist validation | Linux | 1 | Yes | Validation of PR conformance. [pr-checklist.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.github/workflows/pr-checklist.yml) |
152+
| Github | Documentation deployment to gh-pages | Linux | 1 | Yes | Automatic docs deployment with release tag creation. [docs-release.yml](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/.github/workflows/docs-release.yml) |
153+
| Codefactor | Codefactor checks | N/A | 1 | Yes | Enforcing code checks in PRs, Bandit, and other code quality checks. [Codefactor](https://www.codefactor.io/repository/github/uxlfoundation/scikit-learn-intelex) |
154+
| Codecov | Codecoverage | N/A | 1 | Yes | Enforcing coverage tracking and increments in PRs. [Codecov](https://app.codecov.io/gh/uxlfoundation/scikit-learn-intelex) |
155+
156+
157+
### *Required Public CI Infrastructure Needed To Confidently Accept Contributions*
158+
159+
Currently internal Intel CI validation is required for code verification.
160+
Intel employees can start internal CI with comment "/intelci: run" and corresponding CI would be triggered.
161+
It's not possible to view these logs without access to Intel network
162+
163+
Migration to public validation is possible but will require more x86 systems available in public - currently public validation covers a small subset of validation scopes that we are planning to expand
113164

114165
| Instruction set architecture | Hardware Vendor | Processor Type | Operating System |
115166
| --- | --- | --- | --- |
116-
| x86 | Intel | CPU | Ubuntu |
167+
| x86 | Intel | CPU | Ubuntu, Windows |
117168
| AArch64 | Arm | CPU | Ubuntu |
169+
| Xe, Xe2, Xe3 | Intel | GPU | Ubuntu, Windows |
118170

119171
Software Versions:
120-
* CMake
121-
* glibc
122-
* ...
172+
* C/C++ Compiler
173+
* DPC++ Compiler and oneMKL if building with SYCL support
174+
* BLAS and LAPACK libraries - both provided by oneMKL or openBLAS could be used
175+
* Python version 3.9 or higher
176+
* oneTBB library (repository contains script to download it)
177+
* oneDPL library if building with SYCL support
178+
* Microsoft Visual Studio* (Windows* only)
179+
* MSYS2 (Windows* only)
180+
* make and dos2unix tools
181+
Full list of SW requirements and steps defined in [INSTALL.md](https://github.com/uxlfoundation/oneDAL/blob/main/INSTALL.md)
182+
123183

124184
oneCCL
125185
------

0 commit comments

Comments
 (0)