URL:
https://github.com/SSSD/sssd/pull/701
Author: pbrezina
Title: #701: ci: add ability to run tests in jenkins
Action: opened
PR body:
"""
Jenkins master polls github for new branches and pull requests. When it discovers new pull
request or branch or changes to existing pull request or branch it will allocate a jenkins
agent and executes pipeline defined in `./Jenkinsfile` (in SSSD source) on this agent.
The pipeline executes `./contrib/test-suite/run.sh` and archives logs when testing is
finished. Script `./contrib/test-suite/run.sh` prepares sssd-test-suite, starts the
vagrant machines and copy SSSD source code to the client machine. Then it calls
`./contrib/test-suite/run-client.sh` on the client machine which runs continuous
integration tests.
### Extending current tests
To extend current testing capabilities, modify `./contrib/test-suite/run.sh` and
`./contrib/test-suite/run-client.sh` to new requirements. These files can be modified by
anyone but are considered untrusted from contributor that is not an administrator of SSSD
repository. This means that if a public contributor submits a pull request that changes
those files, Jenkins will refuse to run tests.
### Adding additional distribution to test on
You need to modify `./Jenkinsfile`. Simply copy, paste and amend existing Fedora 28 stage.
This file is also considered untrusted so only administrators can modify it within a pull
request.
You also need to extend `sssd-test-suite` and prepare vagrant boxes for this distro.
"""
To pull the PR as Git branch:
git remote add ghsssd
https://github.com/SSSD/sssd
git fetch ghsssd pull/701/head:pr701
git checkout pr701