Skip to content

Commit 02f02e7

Browse files
authored
Merge pull request #7300 from itemko/artemry/mellanox-ci-with-azure-pipelines-review
Reworked Mellanox Open MPI CI with Azure Pipelines
2 parents 25931ea + 98bfe87 commit 02f02e7

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

.ci/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Open MPI Continuous Integration (CI) Services
2+
## Mellanox Open MPI CI
3+
[![Build Status](https://dev.azure.com/mlnx-swx/mellanox-ompi-ci-project/_apis/build/status/mellanox-ompi-ci-pipeline?branchName=master)](https://dev.azure.com/mlnx-swx/mellanox-ompi-ci-project/_build/latest?definitionId=6&branchName=master)
4+
### Scope
5+
[Mellanox](https://www.mellanox.com/) Open MPI CI is intended to verify Open MPI with recent Mellanox SW components ([Mellanox OFED](https://www.mellanox.com/page/products_dyn?product_family=26), [UCX](https://www.mellanox.com/page/products_dyn?product_family=281&mtag=ucx) and other [HPC-X](https://www.mellanox.com/page/products_dyn?product_family=189&mtag=hpc-x) components) in the Mellanox lab environment.
6+
7+
CI is managed by [Azure Pipelines](https://docs.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops) service.
8+
9+
Mellanox Open MPI CI includes:
10+
* Open MPI building with internal stable engineering versions of UCX and HCOLL. The building is run in Docker-based environment.
11+
* Sanity functional testing.
12+
### How to Run CI
13+
Mellanox Open MPI CI is triggered upon the following events:
14+
* Push a commit into the master branch. CI status and log files are available on the Azure DevOps server.
15+
* Create a pull request (PR). CI status is visible in the PR status. CI is restarted automatically upon each new commit within the PR. CI status and log files are also available on the Azure DevOps server.
16+
* Trigger CI with special PR comments (for example, `/azp run`). Comment triggers are available only if the comment author has write permission to the PR target repo. Detailed information about comment triggers is available in the official Azure DevOps [documentation](https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#comment-triggers).
17+
### Support
18+
In case of any issues, questions or suggestions please contact to [Mellanox Open MPI CI support team](mailto:[email protected];[email protected]).

.ci/mellanox/azure-pipelines.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Per-commit
2+
trigger:
3+
- master
4+
# All PRs
5+
pr:
6+
branches:
7+
include:
8+
- '*'
9+
10+
pool:
11+
name: Default
12+
demands: AGENT_CI_CAPABILITY -equals ompi
13+
14+
variables:
15+
# TODO: change to the main repo and master branch
16+
#ompi_jenkins_scripts_git_repo_url: https://github.com/mellanox-hpc/jenkins_scripts.git
17+
ompi_jenkins_scripts_git_repo_url: https://github.com/itemko/jenkins_scripts.git
18+
#ompi_jenkins_scripts_git_branch: master
19+
ompi_jenkins_scripts_git_branch: artemry/ompi_review
20+
# Enable debug information, supported values: true, false
21+
debug: true
22+
23+
jobs:
24+
- job: mellanox_ompi_ci
25+
displayName: Mellanox Open MPI CI
26+
timeoutInMinutes: 240
27+
container:
28+
image: rdmz-harbor.rdmz.labs.mlnx/hpcx/ompi_ci:latest
29+
options: -v /hpc/local:/hpc/local -v /opt:/opt --uts=host --ipc=host --ulimit stack=67108864
30+
--ulimit memlock=-1 --security-opt seccomp=unconfined --cap-add=SYS_ADMIN --device=/dev/infiniband/
31+
steps:
32+
- task: DeleteFiles@1
33+
displayName: Cleanup workspace folder
34+
inputs:
35+
sourceFolder: $(Pipeline.Workspace)
36+
contents: |
37+
**/*
38+
- checkout: self
39+
submodules: true
40+
path: ompi
41+
- bash: |
42+
set -eE
43+
[ "$(debug)" = "true" ] && set -x
44+
cd $(Pipeline.Workspace)
45+
git clone $(ompi_jenkins_scripts_git_repo_url)
46+
cd $(Pipeline.Workspace)/jenkins_scripts && git checkout $(ompi_jenkins_scripts_git_branch)
47+
export WORKSPACE=$(Pipeline.Workspace)/ompi
48+
# TODO: rework ompi_test.sh to avoid Jenkins mentions
49+
export JENKINS_RUN_TESTS=yes
50+
$(Pipeline.Workspace)/jenkins_scripts/jenkins/ompi/ompi_test.sh
51+
displayName: Build and test Open MPI

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
.cdt*
77
.project
88
.gdb*
9+
.idea
910

1011
.hgrc
1112
.hgignore

0 commit comments

Comments
 (0)