SDL continuously checks code:
- check style
- static code analysis
- Build and unit tests
- Smoke automates tests
- Regression tests
CI strategy described in details in proposal
Only TCP transport is checked on 3 policy flows.
Develop push and nightly builds are available in view :
- Code style check : Use check_style.sh to check sdl_core code for compilence to Google coding style.
- Develop builds without unit tests in 3 policy flows:
- Develop builds and unit unit tests run:
- Develop_=RUN_PUSH_AND_NIGHTLY= job is trigger for listed develop build jobs
Develop branch push and nightly automated scripts checks available in view :
Automated scripts checks triggered by no unit tests SDL build jobs. Each job contains a description of ATF test sets that it includes.
Contains basic checks from smoke_tests.txt
A test set executed for SDL build in 3 policy flows:
Check pull regression specific for each policy flow.
A test set executed for SDL build in 3 policy flows:
Contains all ATF scripts for all featured available in the development. For parallel execution, checks are split to multiple jobs with make name template Develop_TCP_ATF_VF{X}_{P,H,E}. X is the number.
Full list of regression ATF jobs available on : https://opensdl-jenkins.prjdmz.luxoft.com/view/ATF_Regression_on_TCP/
Pull request jobs are available in view: https://opensdl-jenkins.prjdmz.luxoft.com/view/PR_checks/
PR checks :
- code style
- build with unit tests
- smoke_tests.txt trigger by build with unit tests.
List of develop jobs executed weekly
Unit tests coverage check weekly in the job:
On Saturday, SDL CI performs a full regression check on these following transports: TCP, WebSockets, SecureWebSockets, and all 3 policy flow. Weekly builds are available on the view https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_weekly/
Each SDL build without unit tests triggers full ATF regression. List of triggered jobs available in each build job as Downstream projects, example: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_NoUT_E_BWSS_OFF/
Full weekly status is available on https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_weekly_status/
For each feature before merging to develop should be created a list of jobs similar to develop to check that feature will no introduce a regression. There is a special job in CI Feature job create that will create a list of jobs and a separate view for the feature.
Required input values for feeature job:
- Feture name (will be used for view title)
- sdl_core feature branch and repository (master by default)
- sdl_atf feature branch and repository (master by default)
- sdl_atf_test_scripts deature branch and repository. (master by default)
- Feature test set (optional)
- Additional info : evoluiton proposal, links to issues, etc ...
After job execution will be created a view with the following checks:
-
- SDL build with unit tests on 3 policy flows (triggers: push, nightly)
-
- SDL build without unit tests on 3 policy flows (triggers: push, nightly)
-
- Smoke tests on 3 policy flows (triggers: build jobs without unit tests)
-
- Feature tests on 3 policy flows (triggers: build jobs without unit tests)
-
- Regression tests on 3 policy flows (triggers: build jobs without unit tests)