# Basic info

- Time: Monday 7th Nov 2016, 20:00 CET (19:00 UTC)
- Place: `#openvpn-meeting` channel on Freenode IRC network

# Topics

1. **OpenVPN QA**
   - Quick summary of what we have now below
   - Patchwork for openvpn-devel?
     - [Patchwork](http://jk.ozlabs.org/projects/patchwork/)
     - Fetch patches from list, store them in easily browsed repository
     - CI systems can poll patchwork and auto-test apply + compile incoming patches (using throwaway VMs that get reset after each test run)
     - Quagga is doing this [Quagga Patchwork](https://patchwork.quagga.net/project/quagga/list/)
2. **OpenVPN 2.4 - next steps?**
   - [Release status page](../../Development/StatusOfOpenvpn24)
   - RFC: deprecate or remove `--key-method 1`?
   - Getting 2.4 into Debian 9
     - Mail from the Debian package maintainer: "I'll consider uploading 2.4_something in early December, so we have a month to fix possible issues. After December 29 it won't be doable."
3. **OpenVPN 2.3.14 release**
   - What is missing?

# QA overview

**NOTE:** The table below is now maintained on [OpenVPN QA page](wiki:OpenVPN_QA).

Here's an overview of our current, work in progress and proposed QA tools/processes:

| Tool/process         | Automated | In use     | Scope              | Extra requirements | B.patch | B.merge | A.merge | B.release | B.distro merge |
|----------------------|-----------|------------|--------------------|--------------------|---------|---------|---------|-----------|----------------|
| "make check"         | No        | Yes        | Build              | None               | X       |         |         |           |                |
| vagrant              | No        | Needs work | Build,integration  | Vagrant installed  | X       |         |         |           |                |
| unit tests           | Yes       | Needs work | Regression         | Cmocka installed   | X       |         |         |           |                |
| code review          | No        | Yes        | Everything         | None               |         | X       |         |           |                |
| travis               | Yes       | Yes        | Build              | Use a GitHub PR    |         | X       |         |           |                |
| patchwork            | Yes       | Proposed   | Build,integration  | Has to be setup    |         | X       |         |           |                |
| push scripts         | No        | Yes        | ?                  | Scripts installed  |         | X       |         |           |                |
| buildbot             | Yes       | Yes        | Build,integration  | None               |         | (X)![3] | X       |           |                |
| win builds![1]       | Yes       | Yes        | Build              | None               |         | (X)![3] | X       |           |                |
| win snapshots![1]    | Yes       | Yes        | Everything         | Windows            |         |         |         | X         |                |
| win testsuite![2]    | No![4]    | Yes        | Integration        | Windows            |         | (X)![3] | (X)![3] | X         |                |
| linux packages       | No![4]    | Yes        | Everything         | Debian OS          |         | (X)![3] | (X)![3] | (X)![3]   | X              |

Notes:
1. [OpenVPN Windows Build Test](https://github.com/mattock/openvpn-windows-buildtest)
2. [OpenVPN Windows Test](https://github.com/mattock/openvpn-windows-test)
3. This tool/process could be adapted to catch errors earlier, at this phase
4. Could be automated, but requires a fair amount of work; integration with Windows snapshots could be accomplished with [Chocolatey](https://chocolatey.org/).

Key:
- B.patch = (Typically catches errors) before a patch is published
- B.merge = before merging the patch (to Git "master")
- A.merge = after merging the patch (to Git "master")
- B.release = before making a release
- B.distro merge = before distributions merge the release to their repositories/ports

''Scope'' is very high-level here by design. We can improve our QA in two main ways:
1. Catch the problems earlier
2. Make each tool/process catch more problems

More complete description of our QA on the [OpenVPN QA page](wiki:OpenVPN_QA).

[Back to meeting list](..)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9