2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-23 18:37:35 +00:00

[#2760] Devel guide updated

- described github CI
 - described gitlab CI briefly
 - added a note about Jenkins
This commit is contained in:
Tomek Mrugalski 2023-03-16 13:33:35 +01:00
parent 3f55800e4d
commit ac37655ca8
No known key found for this signature in database
GPG Key ID: 5F418202F1F80482
3 changed files with 62 additions and 5 deletions

View File

@ -8,6 +8,7 @@ EXTRA_DIST += cross-compile.dox
EXTRA_DIST += doc.dox EXTRA_DIST += doc.dox
EXTRA_DIST += fuzz.dox EXTRA_DIST += fuzz.dox
EXTRA_DIST += mainpage.dox EXTRA_DIST += mainpage.dox
EXTRA_DIST += qa.dox
EXTRA_DIST += terminology.dox EXTRA_DIST += terminology.dox
EXTRA_DIST += unit-tests.dox EXTRA_DIST += unit-tests.dox

View File

@ -36,16 +36,21 @@
* a patch to ISC and what happens next. Please read it if you are considering * a patch to ISC and what happens next. Please read it if you are considering
* sending us any code. * sending us any code.
* *
* @section buildingKeaWithUnitTests Building Kea with Unit tests * @section qa Quality Assurance
* - @subpage qaIntro
* - @subpage unitTests * - @subpage unitTests
* - @subpage unitTestsEnvironmentVariables * - @subpage unitTestsEnvironmentVariables
* - @subpage unitTestsSanitizers * - @subpage unitTestsSanitizers
* - @subpage unitTestsDatabaseConfig * - @subpage unitTestsDatabaseConfig
* - @subpage unitTestsSysrepo * - @subpage unitTestsSysrepo
* - @subpage writingShellScriptsAndTests * - @subpage writingShellScriptsAndTests
* * - @subpage Performance
* @section performance Performance
* - @subpage perfdhcpInternals * - @subpage perfdhcpInternals
* - @subpage fuzzer
* - @subpage qa
* - @subpage ciGithub
* - @subpage ciGitlab
* - @subpage ciJenkins
* *
* @section hooksFramework Hooks Framework * @section hooksFramework Hooks Framework
* - @subpage hooksdgDevelopersGuide * - @subpage hooksdgDevelopersGuide
@ -148,7 +153,6 @@
* - @subpage logNotes * - @subpage logNotes
* - @subpage LoggingApi * - @subpage LoggingApi
* - @subpage SocketSessionUtility * - @subpage SocketSessionUtility
* - @subpage fuzzer
* - @subpage crossCompile * - @subpage crossCompile
* - @subpage docs * - @subpage docs
* - <a href="./doxygen-error.log">Documentation warnings and errors</a> * - <a href="./doxygen-error.log">Documentation warnings and errors</a>

52
doc/devel/qa.dox Normal file
View File

@ -0,0 +1,52 @@
// Copyright (C) 2023 Internet Systems Consortium, Inc. ("ISC")
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
/**
@page qaIntro Quality Assurance in Kea
This is only a brief excerpt about some QA systems used at ISC. For more
information, please refer to the DHCP QA department.
@section ciGithub Running CI pipeline on Github
While our primary environment for running CI pipeline is Jenkins hosted on AWS,
there are some tools that are only available on github. One of such tools is
CodeQL. CodeQL is a static analysis tool that can be used to find security
vulnerabilities in the code. It is a part of Github Advanced Security suite.
Github Advanced Security suite is available for free for open source projects.
The job is defined in `.github/workflows/codeql.yml` file. It is configured
to run once per week on `master` and `ci` branches. Sadly, it requires Kea
compilation. With the runners provided on github having only 2 CPUs, it's
a slow process. But we don't care that much - we get the results once per
week. The results are available in the `Security` tab of the repository
(see https://github.com/isc-projects/kea/security). This tab is only visible to
logged in members of the isc-projects organization.
@section ciGitlab Running CI pipeline on Gitlab
There are several jobs configure on gitlab CI:
- shellcheck
- danger
- dhcpdb_create-upgrade-consistency
- duplicate-includes
- missing-api-commands
- missing-config-h-include
- missing-git-attribute
- sast-analyzer
- flawfinder-sast
The pipeline can be inspected and configure here:
https://gitlab.isc.org/isc-projects/kea/-/ci/editor
@section ciJenkins Running CI pipeline on Jenkins
Jenkins is the primary CI environment. It is hosted on AWS. For details,
see internal QA-DHCP wiki, ask on QA channel on mattermost or take a look at the
internal `qa-dhcp` repository.
*/