Changes between Version 38 and Version 39 of OpenVPN_QA


Ignore:
Timestamp:
09/07/22 09:45:18 (20 months ago)
Author:
Samuli Seppänen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OpenVPN_QA

    v38 v39  
    77= Overview of current tools and processes =
    88
    9 Here's an overview of our current, work in progress and proposed QA tools/processes:
     9Here's an overview of our current, work in progress and proposed QA tools/processes for OpenVPN 2.x:
    1010
    11 ||Tool/process     ||Automated ||In use     ||Scope              ||Extra requirements ||B.patch||B.merge||A.merge||B.release||B.distro merge||
    12 ||"make check"     ||No![5]    ||Yes        ||Build              ||None               ||X      ||       ||       ||         ||              ||
    13 ||vagrant (build)  ||No![6]    ||Yes        ||Build              ||Vagrant installed  ||X      ||       ||       ||         ||              ||
    14 ||vagrant (server) ||No![7]    ||Needs work ||Integration        ||Vagrant installed  ||X      ||       ||       ||         ||              ||     
    15 ||unit tests       ||Yes       ||Needs work ||Regression         ||Cmocka installed   ||X      ||       ||       ||         ||              ||
    16 ||code review      ||No        ||Yes        ||Everything         ||None               ||       ||X      ||       ||         ||              ||
    17 ||travis           ||Yes       ||Yes        ||Build              ||Use a !GitHub PR   ||       ||X      ||       ||         ||              ||
    18 ||appveyor         ||Yes       ||Yes        ||Build              ||Use a !GitHub PR   ||       ||X      ||       ||         ||              ||
    19 ||patchwork        ||Yes       ||Yes        ||Helps code review  ||None               ||       ||X      ||       ||         ||              ||
    20 ||push scripts     ||No        ||Yes        ||?                  ||Scripts installed  ||       ||X      ||       ||         ||              ||
    21 ||buildbot         ||Yes       ||Yes        ||Build,integration  ||None               ||       ||(X)![3]||X      ||         ||              ||
    22 ||win builds![1]   ||Yes       ||Yes        ||Build              ||None               ||       ||(X)![3]||X      ||         ||              ||
    23 ||win snapshots![1]||Yes       ||Yes        ||Everything         ||Windows            ||       ||       ||       ||X        ||              ||
    24 ||win testsuite![2]||No![4]    ||Yes        ||Integration        ||Windows            ||       ||(X)![3]||(X)![3]||X        ||              ||
    25 ||linux packages   ||No![4]    ||Yes        ||Everything         ||Debian OS          ||       ||(X)![3]||(X)![3]||(X)![3]  ||X             ||
    26 ||distro qa![8]    ||-         ||-          ||-                  ||None               ||       ||       ||       ||         ||X             ||
     11||Tool/process         ||Automated ||In use     ||Scope              ||Extra requirements ||B.patch||B.merge||A.merge||B.release||B.distro merge||
     12||"make check"         ||No![5]    ||Yes        ||Build              ||None               ||X      ||       ||       ||         ||              ||
     13||vagrant (build)      ||No![6]    ||Yes        ||Build              ||Vagrant installed  ||X      ||       ||       ||         ||              ||
     14||vagrant (server)     ||No![7]    ||Needs work ||Integration        ||Vagrant installed  ||X      ||       ||       ||         ||              ||     
     15||unit tests           ||Yes       ||Yes        ||Regression         ||Cmocka installed   ||X      ||       ||       ||         ||              ||
     16||code review          ||No        ||Yes        ||Everything         ||None               ||       ||X      ||       ||         ||              ||
     17||!GitHub Actions      ||Yes       ||Yes        ||Build              ||Use a !GitHub PR   ||       ||X      ||       ||         ||              ||
     18||appveyor             ||Yes       ||Yes        ||Build              ||Use a !GitHub PR   ||       ||X      ||       ||         ||              ||
     19||patchwork            ||Yes       ||Yes        ||Helps code review  ||None               ||       ||X      ||       ||         ||              ||
     20||push scripts         ||No        ||Yes        ||?                  ||Scripts installed  ||       ||X      ||       ||         ||              ||
     21||buildbot             ||Yes       ||Yes        ||Build,integration  ||None               ||       ||(X)![3]||X      ||         ||              ||
     22||win builds![1]       ||Yes       ||Yes        ||Build              ||None               ||       ||(X)![3]||X      ||         ||              ||
     23||GHA win snapshots![1]||Yes       ||Yes        ||Everything         ||None               ||       ||       ||       ||X        ||              ||
     24||win testsuite![2]    ||No![4]    ||Yes        ||Integration        ||Windows            ||       ||(X)![3]||(X)![3]||X        ||              ||
     25||linux packages       ||No![4]    ||Yes        ||Everything         ||Debian OS          ||       ||(X)![3]||(X)![3]||(X)![3]  ||X             ||
     26||distro qa![8]        ||-         ||-          ||-                  ||None               ||       ||       ||       ||         ||X             ||
    2727
    2828Most OpenVPN subprojects, including [https://github.com/OpenVPN/openvpn openvpn], [https://github.com/OpenVPN/openvpn-build openvpn-build], [https://github.com/OpenVPN/openvpn-gui openvpn-gui] and [https://github.com/OpenVPN/tap-windows6 tap-windows6] now have Travis CI and/or !AppVeyor support.
     
    111111== Continuous integration ==
    112112
    113 The first line of defense is the Travis integration in !GitHub, which ensures pull requests (where allowed) do not break the main codebase badly, and that build failures caused by Git push are noticed very quickly. How Travis is used depends on the OpenVPN subproject in question.
     113The first line of defense is the !GitHub Actions integration in !GitHub, which ensures that pull requests (where allowed) do not break the main codebase badly, and that build failures caused by Git push are noticed very quickly. How GitHub Actions is used depends on the OpenVPN subproject in question.
    114114
    115 The project also has a [http://trac.buildbot.net/ Buildbot] buildmaster, which drives several buildslaves. These together form a [http://en.wikipedia.org/wiki/Continuous_integration continuous integration] environment for OpenVPN. Each of these buildslaves is running a different operating system, and every commit to the OpenVPN Git repository triggers a build on each. In addition each openvpn binary built with default configure options with either OpenSSL or mbedTLS makes connections to several test servers using several different configurations. This ensures that
     115The project also has a Buildbot CI/CD system, which drives several buildbot workers. These together form a [http://en.wikipedia.org/wiki/Continuous_integration continuous integration] environment for OpenVPN. Each of the workers is running a different operating system, and every commit to the Git repository triggers a build on each. In addition each openvpn binary built with default configure options with either OpenSSL or mbedTLS makes connections to several test servers using several different configurations. This ensures that
    116116
    117  * OpenVPN builds properly on a variety of platforms
     117 * OpenVPN projects build properly on a variety of platforms
    118118 * The very basic functionality is not horribly broken
    119119
    120 Here's a full list of build tests currently (Nov 2016) in use:
     120Trusted OpenVPN core developers have access to Buildbot and the Git repository it uses, which allows extensively testing feature branches for example, before sending a patch or creating a PR.
    121121
    122 {{{
    123 build-centos-6-amd64-stable-master
    124 build-centos-6-amd64-stable-master--disable-crypto
    125 build-centos-6-amd64-stable-master--disable-crypto--disable-lzo
    126 build-centos-6-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    127 build-centos-6-amd64-stable-master--disable-crypto--disable-management
    128 build-centos-6-amd64-stable-master--disable-lz4
    129 build-centos-6-amd64-stable-master--disable-lz4
    130 build-centos-6-amd64-stable-master--disable-lzo
    131 build-centos-6-amd64-stable-master--disable-lzo
    132 build-centos-6-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    133 build-centos-6-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    134 build-centos-6-amd64-stable-master--disable-lzo--disable-management
    135 build-centos-6-amd64-stable-master--disable-management
    136 build-centos-6-amd64-stable-master--disable-server --enable-small
    137 build-centos-6-amd64-stable-master--disable-server--enable-small
    138 build-centos-6-amd64-stable-master--enable-small
    139 build-centos-6-amd64-stable-master--enable-small
    140 build-centos-6-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    141 build-centos-6-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    142 build-cron2-freebsd-103-amd64-stable-master
    143 build-cron2-freebsd-103-amd64-stable-master--disable-crypto
    144 build-cron2-freebsd-103-amd64-stable-master--disable-crypto--disable-lzo
    145 build-cron2-freebsd-103-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    146 build-cron2-freebsd-103-amd64-stable-master--disable-crypto--disable-management
    147 build-cron2-freebsd-103-amd64-stable-master--disable-lz4
    148 build-cron2-freebsd-103-amd64-stable-master--disable-lz4
    149 build-cron2-freebsd-103-amd64-stable-master--disable-lzo
    150 build-cron2-freebsd-103-amd64-stable-master--disable-lzo
    151 build-cron2-freebsd-103-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    152 build-cron2-freebsd-103-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    153 build-cron2-freebsd-103-amd64-stable-master--disable-lzo--disable-management
    154 build-cron2-freebsd-103-amd64-stable-master--disable-management
    155 build-cron2-freebsd-103-amd64-stable-master--disable-server --enable-small
    156 build-cron2-freebsd-103-amd64-stable-master--disable-server--enable-small
    157 build-cron2-freebsd-103-amd64-stable-master--enable-small
    158 build-cron2-freebsd-103-amd64-stable-master--enable-small
    159 build-cron2-freebsd-103-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    160 build-cron2-freebsd-103-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    161 build-cron2-freebsd-74-amd64-stable-master
    162 build-cron2-freebsd-74-amd64-stable-master--disable-crypto
    163 build-cron2-freebsd-74-amd64-stable-master--disable-crypto--disable-lzo
    164 build-cron2-freebsd-74-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    165 build-cron2-freebsd-74-amd64-stable-master--disable-crypto--disable-management
    166 build-cron2-freebsd-74-amd64-stable-master--disable-lz4
    167 build-cron2-freebsd-74-amd64-stable-master--disable-lz4
    168 build-cron2-freebsd-74-amd64-stable-master--disable-lzo
    169 build-cron2-freebsd-74-amd64-stable-master--disable-lzo
    170 build-cron2-freebsd-74-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    171 build-cron2-freebsd-74-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    172 build-cron2-freebsd-74-amd64-stable-master--disable-lzo--disable-management
    173 build-cron2-freebsd-74-amd64-stable-master--disable-management
    174 build-cron2-freebsd-74-amd64-stable-master--disable-server --enable-small
    175 build-cron2-freebsd-74-amd64-stable-master--disable-server--enable-small
    176 build-cron2-freebsd-74-amd64-stable-master--enable-small
    177 build-cron2-freebsd-74-amd64-stable-master--enable-small
    178 build-cron2-freebsd-74-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    179 build-cron2-freebsd-74-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    180 build-cron2-freebsd-90-amd64-stable-master
    181 build-cron2-freebsd-90-amd64-stable-master--disable-crypto
    182 build-cron2-freebsd-90-amd64-stable-master--disable-crypto--disable-lzo
    183 build-cron2-freebsd-90-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    184 build-cron2-freebsd-90-amd64-stable-master--disable-crypto--disable-management
    185 build-cron2-freebsd-90-amd64-stable-master--disable-lz4
    186 build-cron2-freebsd-90-amd64-stable-master--disable-lz4
    187 build-cron2-freebsd-90-amd64-stable-master--disable-lzo
    188 build-cron2-freebsd-90-amd64-stable-master--disable-lzo
    189 build-cron2-freebsd-90-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    190 build-cron2-freebsd-90-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    191 build-cron2-freebsd-90-amd64-stable-master--disable-lzo--disable-management
    192 build-cron2-freebsd-90-amd64-stable-master--disable-management
    193 build-cron2-freebsd-90-amd64-stable-master--disable-server --enable-small
    194 build-cron2-freebsd-90-amd64-stable-master--disable-server--enable-small
    195 build-cron2-freebsd-90-amd64-stable-master--enable-small
    196 build-cron2-freebsd-90-amd64-stable-master--enable-small
    197 build-cron2-freebsd-90-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    198 build-cron2-freebsd-90-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    199 build-cron2-netbsd-51-amd64-stable-master
    200 build-cron2-netbsd-51-amd64-stable-master--disable-crypto
    201 build-cron2-netbsd-51-amd64-stable-master--disable-crypto--disable-lzo
    202 build-cron2-netbsd-51-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    203 build-cron2-netbsd-51-amd64-stable-master--disable-crypto--disable-management
    204 build-cron2-netbsd-51-amd64-stable-master--disable-lz4
    205 build-cron2-netbsd-51-amd64-stable-master--disable-lz4
    206 build-cron2-netbsd-51-amd64-stable-master--disable-lzo
    207 build-cron2-netbsd-51-amd64-stable-master--disable-lzo
    208 build-cron2-netbsd-51-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    209 build-cron2-netbsd-51-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    210 build-cron2-netbsd-51-amd64-stable-master--disable-lzo--disable-management
    211 build-cron2-netbsd-51-amd64-stable-master--disable-management
    212 build-cron2-netbsd-51-amd64-stable-master--disable-server --enable-small
    213 build-cron2-netbsd-51-amd64-stable-master--disable-server--enable-small
    214 build-cron2-netbsd-51-amd64-stable-master--enable-small
    215 build-cron2-netbsd-51-amd64-stable-master--enable-small
    216 build-cron2-netbsd-51-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    217 build-cron2-netbsd-51-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    218 build-cron2-netbsd-70-i386-stable-master
    219 build-cron2-netbsd-70-i386-stable-master--disable-crypto
    220 build-cron2-netbsd-70-i386-stable-master--disable-crypto--disable-lzo
    221 build-cron2-netbsd-70-i386-stable-master--disable-crypto--disable-lzo--disable-management
    222 build-cron2-netbsd-70-i386-stable-master--disable-crypto--disable-management
    223 build-cron2-netbsd-70-i386-stable-master--disable-lz4
    224 build-cron2-netbsd-70-i386-stable-master--disable-lz4
    225 build-cron2-netbsd-70-i386-stable-master--disable-lzo
    226 build-cron2-netbsd-70-i386-stable-master--disable-lzo
    227 build-cron2-netbsd-70-i386-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    228 build-cron2-netbsd-70-i386-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    229 build-cron2-netbsd-70-i386-stable-master--disable-lzo--disable-management
    230 build-cron2-netbsd-70-i386-stable-master--disable-management
    231 build-cron2-netbsd-70-i386-stable-master--disable-server --enable-small
    232 build-cron2-netbsd-70-i386-stable-master--disable-server--enable-small
    233 build-cron2-netbsd-70-i386-stable-master--enable-small
    234 build-cron2-netbsd-70-i386-stable-master--enable-small
    235 build-cron2-netbsd-70-i386-stable-master--with-crypto-library=mbedtls --enable-crypto
    236 build-cron2-netbsd-70-i386-stable-master--with-crypto-library=mbedtls--enable-crypto
    237 build-cron2-openbsd-49-i386-stable-master
    238 build-cron2-openbsd-49-i386-stable-master--disable-crypto
    239 build-cron2-openbsd-49-i386-stable-master--disable-crypto--disable-lzo
    240 build-cron2-openbsd-49-i386-stable-master--disable-crypto--disable-lzo--disable-management
    241 build-cron2-openbsd-49-i386-stable-master--disable-crypto--disable-lzo--disable-management--disable-plugin-auth-pam
    242 build-cron2-openbsd-49-i386-stable-master--disable-crypto--disable-lzo--disable-plugin-auth-pam
    243 build-cron2-openbsd-49-i386-stable-master--disable-crypto--disable-management
    244 build-cron2-openbsd-49-i386-stable-master--disable-crypto--disable-management--disable-plugin-auth-pam
    245 build-cron2-openbsd-49-i386-stable-master--disable-crypto--disable-plugin-auth-pam
    246 build-cron2-openbsd-49-i386-stable-master--disable-lz4
    247 build-cron2-openbsd-49-i386-stable-master--disable-lz4
    248 build-cron2-openbsd-49-i386-stable-master--disable-lz4--disable-plugin-auth-pam
    249 build-cron2-openbsd-49-i386-stable-master--disable-lzo
    250 build-cron2-openbsd-49-i386-stable-master--disable-lzo
    251 build-cron2-openbsd-49-i386-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    252 build-cron2-openbsd-49-i386-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    253 build-cron2-openbsd-49-i386-stable-master--disable-lzo--disable-lz4--enable-comp-stub--disable-plugin-auth-pam
    254 build-cron2-openbsd-49-i386-stable-master--disable-lzo--disable-management
    255 build-cron2-openbsd-49-i386-stable-master--disable-lzo--disable-management--disable-plugin-auth-pam
    256 build-cron2-openbsd-49-i386-stable-master--disable-lzo--disable-plugin-auth-pam
    257 build-cron2-openbsd-49-i386-stable-master--disable-management
    258 build-cron2-openbsd-49-i386-stable-master--disable-management--disable-plugin-auth-pam
    259 build-cron2-openbsd-49-i386-stable-master--disable-plugin-auth-pam
    260 build-cron2-openbsd-49-i386-stable-master--disable-server --enable-small
    261 build-cron2-openbsd-49-i386-stable-master--disable-server--enable-small
    262 build-cron2-openbsd-49-i386-stable-master--disable-server--enable-small--disable-plugin-auth-pam
    263 build-cron2-openbsd-49-i386-stable-master--enable-small
    264 build-cron2-openbsd-49-i386-stable-master--enable-small
    265 build-cron2-openbsd-49-i386-stable-master--enable-small--disable-plugin-auth-pam
    266 build-cron2-openbsd-49-i386-stable-master--with-crypto-library=mbedtls --enable-crypto
    267 build-cron2-openbsd-49-i386-stable-master--with-crypto-library=mbedtls--enable-crypto
    268 build-cron2-openbsd-49-i386-stable-master--with-crypto-library=mbedtls--enable-crypto--disable-plugin-auth-pam
    269 build-cron2-openbsd-60-amd64-stable-master
    270 build-cron2-openbsd-60-amd64-stable-master--disable-crypto
    271 build-cron2-openbsd-60-amd64-stable-master--disable-crypto--disable-lzo
    272 build-cron2-openbsd-60-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    273 build-cron2-openbsd-60-amd64-stable-master--disable-crypto--disable-management
    274 build-cron2-openbsd-60-amd64-stable-master--disable-lz4
    275 build-cron2-openbsd-60-amd64-stable-master--disable-lz4
    276 build-cron2-openbsd-60-amd64-stable-master--disable-lzo
    277 build-cron2-openbsd-60-amd64-stable-master--disable-lzo
    278 build-cron2-openbsd-60-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    279 build-cron2-openbsd-60-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    280 build-cron2-openbsd-60-amd64-stable-master--disable-lzo--disable-management
    281 build-cron2-openbsd-60-amd64-stable-master--disable-management
    282 build-cron2-openbsd-60-amd64-stable-master--disable-server --enable-small
    283 build-cron2-openbsd-60-amd64-stable-master--disable-server--enable-small
    284 build-cron2-openbsd-60-amd64-stable-master--enable-small
    285 build-cron2-openbsd-60-amd64-stable-master--enable-small
    286 build-cron2-openbsd-60-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    287 build-cron2-openbsd-60-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    288 build-cron2-opensolaris-10-i386-stable-master
    289 build-cron2-opensolaris-10-i386-stable-master--disable-crypto
    290 build-cron2-opensolaris-10-i386-stable-master--disable-crypto--disable-lzo
    291 build-cron2-opensolaris-10-i386-stable-master--disable-crypto--disable-lzo--disable-management
    292 build-cron2-opensolaris-10-i386-stable-master--disable-crypto--disable-management
    293 build-cron2-opensolaris-10-i386-stable-master--disable-lz4
    294 build-cron2-opensolaris-10-i386-stable-master--disable-lz4
    295 build-cron2-opensolaris-10-i386-stable-master--disable-lzo
    296 build-cron2-opensolaris-10-i386-stable-master--disable-lzo
    297 build-cron2-opensolaris-10-i386-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    298 build-cron2-opensolaris-10-i386-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    299 build-cron2-opensolaris-10-i386-stable-master--disable-lzo--disable-management
    300 build-cron2-opensolaris-10-i386-stable-master--disable-management
    301 build-cron2-opensolaris-10-i386-stable-master--disable-server --enable-small
    302 build-cron2-opensolaris-10-i386-stable-master--disable-server--enable-small
    303 build-cron2-opensolaris-10-i386-stable-master--enable-small
    304 build-cron2-opensolaris-10-i386-stable-master--enable-small
    305 build-cron2-opensolaris-10-i386-stable-master--with-crypto-library=mbedtls --enable-crypto
    306 build-cron2-opensolaris-10-i386-stable-master--with-crypto-library=mbedtls--enable-crypto
    307 build-debian-7-i386-stable-master
    308 build-debian-7-i386-stable-master--disable-crypto
    309 build-debian-7-i386-stable-master--disable-crypto--disable-lzo
    310 build-debian-7-i386-stable-master--disable-crypto--disable-lzo--disable-management
    311 build-debian-7-i386-stable-master--disable-crypto--disable-management
    312 build-debian-7-i386-stable-master--disable-lz4
    313 build-debian-7-i386-stable-master--disable-lz4
    314 build-debian-7-i386-stable-master--disable-lzo
    315 build-debian-7-i386-stable-master--disable-lzo
    316 build-debian-7-i386-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    317 build-debian-7-i386-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    318 build-debian-7-i386-stable-master--disable-lzo--disable-management
    319 build-debian-7-i386-stable-master--disable-management
    320 build-debian-7-i386-stable-master--disable-server --enable-small
    321 build-debian-7-i386-stable-master--disable-server--enable-small
    322 build-debian-7-i386-stable-master--enable-small
    323 build-debian-7-i386-stable-master--enable-small
    324 build-debian-7-i386-stable-master--with-crypto-library=mbedtls --enable-crypto
    325 build-debian-7-i386-stable-master--with-crypto-library=mbedtls--enable-crypto
    326 build-fedora-24-amd64-stable-master
    327 build-fedora-24-amd64-stable-master--disable-crypto
    328 build-fedora-24-amd64-stable-master--disable-crypto--disable-lzo
    329 build-fedora-24-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    330 build-fedora-24-amd64-stable-master--disable-crypto--disable-management
    331 build-fedora-24-amd64-stable-master--disable-lz4
    332 build-fedora-24-amd64-stable-master--disable-lzo
    333 build-fedora-24-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    334 build-fedora-24-amd64-stable-master--disable-lzo--disable-management
    335 build-fedora-24-amd64-stable-master--disable-management
    336 build-fedora-24-amd64-stable-master--disable-server--enable-small
    337 build-fedora-24-amd64-stable-master--enable-small
    338 build-fedora-24-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    339 build-plaisthos-macosx-amd64-stable-master
    340 build-plaisthos-macosx-amd64-stable-master--disable-crypto
    341 build-plaisthos-macosx-amd64-stable-master--disable-crypto--disable-lzo
    342 build-plaisthos-macosx-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    343 build-plaisthos-macosx-amd64-stable-master--disable-crypto--disable-management
    344 build-plaisthos-macosx-amd64-stable-master--disable-lz4
    345 build-plaisthos-macosx-amd64-stable-master--disable-lz4
    346 build-plaisthos-macosx-amd64-stable-master--disable-lzo
    347 build-plaisthos-macosx-amd64-stable-master--disable-lzo
    348 build-plaisthos-macosx-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    349 build-plaisthos-macosx-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    350 build-plaisthos-macosx-amd64-stable-master--disable-lzo--disable-management
    351 build-plaisthos-macosx-amd64-stable-master--disable-management
    352 build-plaisthos-macosx-amd64-stable-master--disable-server --enable-small
    353 build-plaisthos-macosx-amd64-stable-master--disable-server--enable-small
    354 build-plaisthos-macosx-amd64-stable-master--enable-small
    355 build-plaisthos-macosx-amd64-stable-master--enable-small
    356 build-plaisthos-macosx-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    357 build-plaisthos-macosx-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    358 build-tincan-arch-amd64-stable-master
    359 build-tincan-arch-amd64-stable-master--disable-crypto
    360 build-tincan-arch-amd64-stable-master--disable-crypto--disable-lzo
    361 build-tincan-arch-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    362 build-tincan-arch-amd64-stable-master--disable-crypto--disable-management
    363 build-tincan-arch-amd64-stable-master--disable-lz4
    364 build-tincan-arch-amd64-stable-master--disable-lzo
    365 build-tincan-arch-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    366 build-tincan-arch-amd64-stable-master--disable-lzo--disable-management
    367 build-tincan-arch-amd64-stable-master--disable-management
    368 build-tincan-arch-amd64-stable-master--disable-server--enable-small
    369 build-tincan-arch-amd64-stable-master--enable-small
    370 build-tincan-arch-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    371 build-tincan-centos-7-amd64-stable-master
    372 build-tincan-centos-7-amd64-stable-master--disable-crypto
    373 build-tincan-centos-7-amd64-stable-master--disable-crypto--disable-lzo
    374 build-tincan-centos-7-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    375 build-tincan-centos-7-amd64-stable-master--disable-crypto--disable-management
    376 build-tincan-centos-7-amd64-stable-master--disable-lz4
    377 build-tincan-centos-7-amd64-stable-master--disable-lzo
    378 build-tincan-centos-7-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    379 build-tincan-centos-7-amd64-stable-master--disable-lzo--disable-management
    380 build-tincan-centos-7-amd64-stable-master--disable-management
    381 build-tincan-centos-7-amd64-stable-master--disable-server--enable-small
    382 build-tincan-centos-7-amd64-stable-master--enable-small
    383 build-tincan-centos-7-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    384 build-tincan-debian-85-amd64-stable-master
    385 build-tincan-debian-85-amd64-stable-master--disable-crypto
    386 build-tincan-debian-85-amd64-stable-master--disable-crypto--disable-lzo
    387 build-tincan-debian-85-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    388 build-tincan-debian-85-amd64-stable-master--disable-crypto--disable-management
    389 build-tincan-debian-85-amd64-stable-master--disable-lz4
    390 build-tincan-debian-85-amd64-stable-master--disable-lzo
    391 build-tincan-debian-85-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    392 build-tincan-debian-85-amd64-stable-master--disable-lzo--disable-management
    393 build-tincan-debian-85-amd64-stable-master--disable-management
    394 build-tincan-debian-85-amd64-stable-master--disable-server--enable-small
    395 build-tincan-debian-85-amd64-stable-master--enable-small
    396 build-tincan-debian-85-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    397 build-tincan-gentoo-amd64-stable-master
    398 build-tincan-gentoo-amd64-stable-master--disable-crypto
    399 build-tincan-gentoo-amd64-stable-master--disable-crypto--disable-lzo
    400 build-tincan-gentoo-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    401 build-tincan-gentoo-amd64-stable-master--disable-crypto--disable-management
    402 build-tincan-gentoo-amd64-stable-master--disable-lz4
    403 build-tincan-gentoo-amd64-stable-master--disable-lzo
    404 build-tincan-gentoo-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    405 build-tincan-gentoo-amd64-stable-master--disable-lzo--disable-management
    406 build-tincan-gentoo-amd64-stable-master--disable-management
    407 build-tincan-gentoo-amd64-stable-master--disable-server--enable-small
    408 build-tincan-gentoo-amd64-stable-master--enable-small
    409 build-tincan-gentoo-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    410 build-ubuntu-1204-i386-stable-master
    411 build-ubuntu-1204-i386-stable-master--disable-crypto
    412 build-ubuntu-1204-i386-stable-master--disable-crypto--disable-lzo
    413 build-ubuntu-1204-i386-stable-master--disable-crypto--disable-lzo--disable-management
    414 build-ubuntu-1204-i386-stable-master--disable-crypto--disable-management
    415 build-ubuntu-1204-i386-stable-master--disable-lz4
    416 build-ubuntu-1204-i386-stable-master--disable-lz4
    417 build-ubuntu-1204-i386-stable-master--disable-lzo
    418 build-ubuntu-1204-i386-stable-master--disable-lzo
    419 build-ubuntu-1204-i386-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    420 build-ubuntu-1204-i386-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    421 build-ubuntu-1204-i386-stable-master--disable-lzo--disable-management
    422 build-ubuntu-1204-i386-stable-master--disable-management
    423 build-ubuntu-1204-i386-stable-master--disable-server --enable-small
    424 build-ubuntu-1204-i386-stable-master--disable-server--enable-small
    425 build-ubuntu-1204-i386-stable-master--enable-small
    426 build-ubuntu-1204-i386-stable-master--enable-small
    427 build-ubuntu-1204-i386-stable-master--with-crypto-library=mbedtls --enable-crypto
    428 build-ubuntu-1204-i386-stable-master--with-crypto-library=mbedtls--enable-crypto
    429 build-ubuntu-1404-amd64-stable-master
    430 build-ubuntu-1404-amd64-stable-master--disable-crypto
    431 build-ubuntu-1404-amd64-stable-master--disable-crypto--disable-lzo
    432 build-ubuntu-1404-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    433 build-ubuntu-1404-amd64-stable-master--disable-crypto--disable-management
    434 build-ubuntu-1404-amd64-stable-master--disable-lz4
    435 build-ubuntu-1404-amd64-stable-master--disable-lz4
    436 build-ubuntu-1404-amd64-stable-master--disable-lzo
    437 build-ubuntu-1404-amd64-stable-master--disable-lzo
    438 build-ubuntu-1404-amd64-stable-master--disable-lzo --disable-lz4 --enable-comp-stub
    439 build-ubuntu-1404-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    440 build-ubuntu-1404-amd64-stable-master--disable-lzo--disable-management
    441 build-ubuntu-1404-amd64-stable-master--disable-management
    442 build-ubuntu-1404-amd64-stable-master--disable-server --enable-small
    443 build-ubuntu-1404-amd64-stable-master--disable-server--enable-small
    444 build-ubuntu-1404-amd64-stable-master--enable-small
    445 build-ubuntu-1404-amd64-stable-master--enable-small
    446 build-ubuntu-1404-amd64-stable-master--with-crypto-library=mbedtls --enable-crypto
    447 build-ubuntu-1404-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    448 build-ubuntu-1604-amd64-stable-master
    449 build-ubuntu-1604-amd64-stable-master--disable-crypto
    450 build-ubuntu-1604-amd64-stable-master--disable-crypto--disable-lzo
    451 build-ubuntu-1604-amd64-stable-master--disable-crypto--disable-lzo--disable-management
    452 build-ubuntu-1604-amd64-stable-master--disable-crypto--disable-management
    453 build-ubuntu-1604-amd64-stable-master--disable-lz4
    454 build-ubuntu-1604-amd64-stable-master--disable-lzo
    455 build-ubuntu-1604-amd64-stable-master--disable-lzo--disable-lz4--enable-comp-stub
    456 build-ubuntu-1604-amd64-stable-master--disable-lzo--disable-management
    457 build-ubuntu-1604-amd64-stable-master--disable-management
    458 build-ubuntu-1604-amd64-stable-master--disable-server--enable-small
    459 build-ubuntu-1604-amd64-stable-master--enable-small
    460 build-ubuntu-1604-amd64-stable-master--with-crypto-library=mbedtls--enable-crypto
    461 }}}
    462 At the moment the most common operating system variants are quite thoroughly covered. If you have access to really funky hardware and software combinations please don't hesitate to [wiki:GettingHelp contact us] and to ask if [wiki:SettingUpBuildslave adding another buildslave] would make sense.
     122Buildbot currently (September 2022) does CI/CD for the following projects:
    463123
    464 In addition each commit to release branch(es) and the master branch triggers Linux -> Windows cross-compile test using the [wiki:BuildingUsingGenericBuildsystem generic buildsystem]. This helps prevent the Windows builds from being horribly broken.
     124 * openvpn
     125 * openvpn3
     126 * openvpn3-linux
     127 * ovpn-dco
     128
     129For further details see the SettingUpBuildslave article.
    465130
    466131== Unit testing ==
    467132
    468 At the moment, there is no coherent set of [http://en.wikipedia.org/wiki/Unit_test unit tests] to spot regressions. One option would be to use [http://cunit.sourceforge.net/index.html CUnit] or similar unit test framework to cover the most commonly used and/or critical codepaths. If you have experience with unit testing and want to help us spot regressions, please [wiki:GettingHelp contact us].
     133The OpenVPN project uses the [https://cmocka.org/ CMocka unit testing framework]. If you have experience with unit testing and want to help us spot regressions, please [wiki:GettingHelp contact us].
    469134
    470135= Windows testing =