{"id":19362709,"url":"https://github.com/smartdevicelink/sdl_core_ci","last_synced_at":"2025-06-22T22:05:33.431Z","repository":{"id":48499855,"uuid":"266149988","full_name":"smartdevicelink/sdl_core_ci","owner":"smartdevicelink","description":"Repository for housing continuous integration related scripts and files for SDL Core","archived":false,"fork":false,"pushed_at":"2021-07-22T16:45:10.000Z","size":23,"stargazers_count":1,"open_issues_count":1,"forks_count":4,"subscribers_count":13,"default_branch":"develop","last_synced_at":"2025-04-23T12:52:32.636Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smartdevicelink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-22T15:55:24.000Z","updated_at":"2021-11-06T08:05:13.000Z","dependencies_parsed_at":"2022-09-21T04:35:33.854Z","dependency_job_id":null,"html_url":"https://github.com/smartdevicelink/sdl_core_ci","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/smartdevicelink/sdl_core_ci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Fsdl_core_ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Fsdl_core_ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Fsdl_core_ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Fsdl_core_ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartdevicelink","download_url":"https://codeload.github.com/smartdevicelink/sdl_core_ci/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Fsdl_core_ci/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261374412,"owners_count":23148976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T07:30:01.839Z","updated_at":"2025-06-22T22:05:28.415Z","avatar_url":"https://github.com/smartdevicelink.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sdl_core_ci\nRepository for housing continuous integration related scripts and files for SDL Core.\n\nhttps://opensdl-jenkins.prjdmz.luxoft.com/\n\nCurrently, we are using Jenkins server for the Continuous Integration process of our project.\nIt is mainly used for the following functionality:\n\n    - building SDL_CORE / SDL_ATF\n    - running ATF test scripts to check implemented functionality\n    - checking coding style and cppcheck\n\nHere is a matrix of build jobs:\n\n| Job's name mask | Description |\n| --- | --- |\n| _P / _E / _H | build on Proprietary / External Proprietary / HTTP flows |\n| BWSS_OFF | builds with disabled option: -DBUILD_WEBSOCKET_SERVER_SUPPORT=OFF |\n| _noUT / _UT | build without UnitTests / with UnitTest |\n| _EL_OFF | build with disabled logging: -DENABLE_LOG=OFF |\n| _ES_OFF | build with disabled security: -DENABLE_SECURITY=OFF |\n| _UC_OFF | build with UnitTests with disabled cotire option: -DUSE_COTIRE=OFF |\n| _BCAF | builds with disabled option: -DBUILD_CLOUD_APP_SUPPORT=OFF |\n| _ATF_BUILD | a job which builds ATF for reuse in all the ATF test jobs |\n| _TCP | ATF scripts jobs with TCP transport type |\n| _WS | ATF scripts jobs with WebSocket transport type |\n| _WSS | ATF scripts jobs with WebSocketSecured transport type |\n| _OFF |  jobs view that are running on sdl_core built in *_BWSS_OFF jobs previously described |\n\nMain view builds shows ATF build, UnitTests coverage, and a lot of sdl_core build jobs with different flags.\n\nThere are several regression views that run all our ATF tests from develop on each Policy flow (Proprietary, External Proprietary, HTTP) and transport type (TCP, WebSocket, WebSocketSecured), on TCP using Remote ATF, and a view with ATF test jobs which use sdl_core built without WebSocket support.\n\n# SDL continuous integration strategy\n\nSDL continuously checks code:\n - check style\n - static code analysis\n - build and unit tests\n - smoke automated tests\n - regression automated tests\n\nJob artifacts contain build results, ATF reports, SDL logs,  etc ...\n\nCI strategy described in details in [proposal](https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals/0277-Continuous-Integration-And-Testing.md)\n\n## Develop nightly and push checks\n\nOnly TCP transport is checked on 3 policy flows.\n\n[Develop](https://github.com/smartdevicelink/sdl_core/tree/develop) push and nightly builds are available in the [develop push and nightly status view](https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_push_and_nightly_status/) :\n\n - [Code style check](https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_Checkstyle/) : Use [check_style.sh](https://github.com/smartdevicelink/sdl_core/blob/master/tools/infrastructure/check_style.sh) to check sdl_core code for compliance to Google coding style. ![badge][check style badge]\n - Develop builds without unit tests in 3 policy flows:\n   - [![badge][develop PROPRIETARY no UT badge]][develop PROPRIETARY no UT]\n   - [![badge][develop EXTERNAL PROPRIETARY no UT badge]][develop EXTERNAL PROPRIETARY no UT]\n   - [![badge][develop HTTP no UT badge]][develop HTTP no UT]\n - Develop builds and unit unit tests run:\n   - [![badge][develop PROPRIETARY UT badge]][develop PROPRIETARY UT]\n   - [![badge][develop EXTERNAL PROPRIETARY UT badge]][develop EXTERNAL PROPRIETARY UT]\n   - [![badge][develop HTTP UT badge]][develop HTTP UT]\n - [Develop_=RUN_PUSH_AND_NIGHTLY=](\nhttps://opensdl-jenkins.prjdmz.luxoft.com/view/Develop%20push%20and%20nightly/job/Develop_=RUN_PUSH_AND_NIGHTLY=/) job is trigger for listed develop build jobs\n\n\nDevelop branch push and nightly automated scripts checks available in the [develop push and nightly status view](https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_push_and_nightly_status/) :\n\n### Automated scripts\n\nAutomated scripts checks triggered by no unit tests SDL build jobs.\nEach job contains a description of ATF test sets that it includes.\n\n### Automated smoke tests\n\nContains basic checks from [smoke_tests.txt](https://github.com/smartdevicelink/sdl_atf_test_scripts/blob/master/test_sets/smoke_tests.txt)\n\nA test set executed for SDL build in 3 policy flows:\n\n - [![badge][develop automated smoke PROPRIETARY badge]][develop automated smoke PROPRIETARY]\n - [![badge][develop automated smoke EXTERNAL PROPRIETARY badge]][develop automated smoke EXTERNAL PROPRIETARY]\n - [![badge][develop automated smoke HTTP badge]][develop automated smoke HTTP]\n\n\n### Automated regression\n\n#### Automated policy regression\n\nCheck full regression specific for each policy flow.\n\nA test set executed for SDL build in 3 policy flows:\n - [![badge][PROPRIETARY ATF policy badge]][PROPRIETARY ATF policy ]\n - [![badge][EXTERNAL PROPRIETARY ATF policy badge]][EXTERNAL PROPRIETARY ATF policy ]\n - [![badge][HTTP ATF policy badge]][HTTP ATF policy]\n\n#### Automated RC regression\n\nCheck full regression specific for remote control on each policy flow.\n\nA test set executed for SDL build in 3 policy flows:\n - [![badge][PROPRIETARY ATF badge RC]][PROPRIETARY ATF RC]\n - [![badge][EXTERNAL PROPRIETARY ATF badge RC]][EXTERNAL PROPRIETARY ATF RC]\n - [![badge][HTTP ATF badge RC]][HTTP ATF RC]\n\n#### Various features regression\nContains all ATF scripts for all featured available in the development.\nFor parallel execution, checks are split to multiple jobs with make name template **Develop_TCP_ATF_VF{X}_{P,H,E}**. **X** is the number.\n\nFull list of regression ATF jobs available on : https://opensdl-jenkins.prjdmz.luxoft.com/view/ATF_Regression_on_TCP/\n\n## PR to develop checks\n\nPull request jobs are available in view: https://opensdl-jenkins.prjdmz.luxoft.com/view/PR_checks/\n\nPR checks :\n - code style\n - build with unit tests\n - [smoke_tests.txt](https://github.com/smartdevicelink/sdl_atf_test_scripts/blob/master/test_sets/smoke_tests.txt) trigger by build with unit tests.\n\nCI triggers PR checks for any PR if `CI` label is assigned to this PR.\n\nFor the first build `Rebuild required` comment needs to be placed into PR.\nHowever further builds will be triggered automatically by any push into source branch.\n\n## Weekly checks\n\nList of develop jobs executed [weekly](https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_weekly/)\n\n### Unit tests coverage\n\nUnit tests coverage check weekly in the job: [![badge][unit test coverage badge]][unit test coverage]\n\n### Full ATF regression\n\nOn Saturday, SDL CI performs a full regression check on these following transports: TCP, WebSockets, SecureWebSockets, and all 3 policy flow.\nWeekly builds are available on the view https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_weekly/\n\nEach SDL build without unit tests triggers full ATF regression.\nList of triggered jobs available in each build job as Downstream projects, example:\nhttps://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_NoUT_E_BWSS_OFF/\n\nFull weekly status is available on https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_weekly_status/\n\n## Feature checks:\n\nFor each feature before merging to develop should be created a list of jobs similar to develop to check that feature will not introduce a regression.\nThere is a special job on CI [Feature job create](https://opensdl-jenkins.prjdmz.luxoft.com/view/Jenkins_Utils/job/Jenkins_Utils_Create_Jobs_for_Feature/) that will create a list of jobs and a separate view for the feature.\nWhen feature is delivered and no checks for it is needed appropriate jobs on CI can be deleted with [Feature job delete](https://opensdl-jenkins.prjdmz.luxoft.com/view/Jenkins_Utils/job/Jenkins_Utils_Delete_Jobs_for_Feature/)\nIn case feature check should be canceled immediately there is [Feature job cancel](https://opensdl-jenkins.prjdmz.luxoft.com/view/Jenkins_Utils/job/Jenkins_Utils_Cancel_Jobs_for_Feature/) that allows to stop all running jobs (e.g. builds, ATF test runs) relative to feature.\n\nRequired input values for feature job:\n - Feature name (will be used for view title)\n - sdl_core feature branch and repository (master by default)\n - sdl_atf feature branch and repository (master by default)\n - sdl_atf_test_scripts feature branch and repository. (master by default)\n - Feature test set (optional)\n - Additional info : evolution proposal, links to issues, etc ...\n\nAfter job execution will be created a view with the following checks:\n 1. SDL build with unit tests on 3 policy flows (triggers: push, nightly)\n 2. SDL build without unit tests on 3 policy flows (triggers: push, nightly)\n 3. Smoke tests on 3 policy flows (triggers: build jobs without unit tests)\n 4. Feature tests on 3 policy flows (triggers: build jobs without unit tests)\n 5. Regression tests on 3 policy flows (triggers: build jobs without unit tests)\n\n## Special requests\n\nIn case of special request (not ordinary builds for special feature, restart certain jobs, etc, ...) please contact:\n - [Oleksandr Kandul](https://github.com/okandul) : OKandul@luxoft.com\n\n[check style badge]: https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_SDL_Checkstyle%2F\u0026label=check%20style\n\n[develop PROPRIETARY no UT]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_NoUT_P/\n[develop PROPRIETARY no UT badge]:\nhttps://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_SDL_NoUT_P%2F\u0026label=PROPRIETARY%20build%20%20no%20UT\n\n[develop EXTERNAL PROPRIETARY no UT]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_NoUT_E/\n[develop EXTERNAL PROPRIETARY no UT badge]:\nhttps://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_SDL_NoUT_E%2F\u0026label=EXTERNAL%20PROPRIETARY%20build%20%20no%20UT\n\n[develop HTTP no UT]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_NoUT_H\n[develop HTTP no UT badge]:\nhttps://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_SDL_NoUT_H\u0026label=HTTP%20build%20%20no%20UT\n\n\n[develop PROPRIETARY UT]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_UT_P/\n[develop PROPRIETARY UT badge]:\nhttps://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_SDL_UT_P%2F\u0026label=PROPRIETARY%20unit%20tests\n\n[develop EXTERNAL PROPRIETARY UT]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_UT_E/\n[develop EXTERNAL PROPRIETARY UT badge]:\nhttps://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_SDL_UT_E%2F\u0026label=EXTERNAL%20PROPRIETARY%20unit%20tests\n\n[develop HTTP UT]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_SDL_UT_H\n[develop HTTP UT badge]:\nhttps://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_SDL_UT_H\u0026label=HTTP%20unit%20tests\u0026style=plastic\n\n[develop automated smoke PROPRIETARY]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_TCP_ATF_Smoke_P\n[develop automated smoke PROPRIETARY badge]:\nhttps://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_Smoke_P\u0026label=automated%20smoke%20PROPRIETARY\n\n[develop automated smoke EXTERNAL PROPRIETARY]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_TCP_ATF_Smoke_E\n[develop automated smoke EXTERNAL PROPRIETARY badge]:\nhttps://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_Smoke_E\u0026label=automated%20smoke%20EXTERNAL%20PROPRIETARY\n\n[develop automated smoke HTTP]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_TCP_ATF_Smoke_H\n[develop automated smoke HTTP badge]:\nhttps://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_Smoke_E\u0026label=automated%20smoke%20HTTP\n\n[PROPRIETARY ATF policy]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_TCP_ATF_Policies_P/\n[PROPRIETARY ATF policy badge]:https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_Policies_P%2F\u0026label=PROPRIETARY%20atf%20policy\n\n[EXTERNAL PROPRIETARY ATF policy]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_TCP_ATF_Policies_E/\n[EXTERNAL PROPRIETARY ATF policy badge]:https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_Policies_E%2F\u0026label=EXTERNAL%20PROPRIETARY%20atf%20policy\n\n[HTTP ATF policy]: https://opensdl-jenkins.prjdmz.luxoft.com/view/all/job/Develop_TCP_ATF_Policies_H/\n[HTTP ATF policy badge]:https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_Policies_H%2F\u0026label=HTTP%20atf%20policy\n\n[PROPRIETARY ATF RC]: https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_push_and_nightly_status/job/Develop_TCP_ATF_RC_P/\n[PROPRIETARY ATF badge RC]:https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_Policies_P%2F\u0026label=PROPRIETARY%20atf%20RC\n\n[EXTERNAL PROPRIETARY ATF RC]: https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_push_and_nightly_status/job/Develop_TCP_ATF_RC_E/\n[EXTERNAL PROPRIETARY ATF badge RC]:https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_RC_E%2F\u0026label=EXTERNAL%20PROPRIETARY%20atf%20RC\n\n[HTTP ATF RC]: https://opensdl-jenkins.prjdmz.luxoft.com/view/Develop_push_and_nightly_status/job/Develop_TCP_ATF_RC_H/\n[HTTP ATF badge RC]:https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2FDevelop_TCP_ATF_RC_H%2F\u0026label=HTTP%20atf%20RC\n\n[unit test coverage]: https://opensdl-jenkins.prjdmz.luxoft.com/job/develop_weekly_coverage/\n[unit test coverage badge]: https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fopensdl-jenkins.prjdmz.luxoft.com%2Fview%2Fall%2Fjob%2Fdevelop_weekly_coverage%2F\u0026label=unit%20test%20coverage\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdevicelink%2Fsdl_core_ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartdevicelink%2Fsdl_core_ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdevicelink%2Fsdl_core_ci/lists"}