]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2760] Devel guide updated
authorTomek Mrugalski <tomek@isc.org>
Thu, 16 Mar 2023 12:33:35 +0000 (13:33 +0100)
committerTomek Mrugalski <tomek@isc.org>
Fri, 19 May 2023 11:41:01 +0000 (13:41 +0200)
 - described github CI
 - described gitlab CI briefly
 - added a note about Jenkins

doc/devel/Makefile.am
doc/devel/mainpage.dox
doc/devel/qa.dox [new file with mode: 0644]

index 9b740be71bb6832faa06648012fcebc75ca77d01..687b9c1a639b2f5613435e909725280a8c0e8223 100644 (file)
@@ -8,6 +8,7 @@ EXTRA_DIST += cross-compile.dox
 EXTRA_DIST += doc.dox
 EXTRA_DIST += fuzz.dox
 EXTRA_DIST += mainpage.dox
+EXTRA_DIST += qa.dox
 EXTRA_DIST += terminology.dox
 EXTRA_DIST += unit-tests.dox
 
index 8d164cbfbb15d3e0f19c41d63ea72a2744bb1324..a3331805d6afbf2d9bce4d08cc4cbbca4d5b4b00 100644 (file)
  * a patch to ISC and what happens next. Please read it if you are considering
  * sending us any code.
  *
- * @section buildingKeaWithUnitTests Building Kea with Unit tests
+ * @section qa Quality Assurance
+ * - @subpage qaIntro
  * - @subpage unitTests
  *   - @subpage unitTestsEnvironmentVariables
  *   - @subpage unitTestsSanitizers
  *   - @subpage unitTestsDatabaseConfig
  *   - @subpage unitTestsSysrepo
  *   - @subpage writingShellScriptsAndTests
- *
- * @section performance Performance
- * - @subpage perfdhcpInternals
+ * - @subpage Performance
+ *   - @subpage perfdhcpInternals
+ * - @subpage fuzzer
+ * - @subpage qa
+ *   - @subpage ciGithub
+ *   - @subpage ciGitlab
+ *   - @subpage ciJenkins
  *
  * @section hooksFramework Hooks Framework
  * - @subpage hooksdgDevelopersGuide
  *   - @subpage logNotes
  * - @subpage LoggingApi
  * - @subpage SocketSessionUtility
- * - @subpage fuzzer
  * - @subpage crossCompile
  * - @subpage docs
  * - <a href="./doxygen-error.log">Documentation warnings and errors</a>
diff --git a/doc/devel/qa.dox b/doc/devel/qa.dox
new file mode 100644 (file)
index 0000000..d82c4e7
--- /dev/null
@@ -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.
+
+*/