| 1 | = Introduction = |
| 2 | |
| 3 | This page outlines the release process for OpenVPN 2.x. It also works as a release checklist. |
| 4 | |
| 5 | = Pre-release checklist = |
| 6 | |
| 7 | == Notifying external entities == |
| 8 | |
| 9 | === OpenVPN Inc marketing === |
| 10 | |
| 11 | OpenVPN, Inc. marketing people should be notified 7 days prior to ''a new major release'' is about to be released. At minimum, allow for 48 hours. |
| 12 | |
| 13 | === Access Server team === |
| 14 | |
| 15 | OpenVPN Inc. Access server team should be notified prior to a release that affects the Access Server. This means primarily ''releases with security fixes''. |
| 16 | |
| 17 | === Package maintainers === |
| 18 | |
| 19 | Downstream package maintainers (Debian, Ubuntu, Red Hat, etc) should be notified about ''releases with major security fixes''. This is easiest to do via the [https://www.openwall.com/lists/oss-security oss-security mailing list]. |
| 20 | |
| 21 | |
| 22 | = Release checklist = |
| 23 | |
| 24 | == Update repositories == |
| 25 | |
| 26 | * tap-windows6 (when needed) |
| 27 | * Merge pull requests |
| 28 | * Rebase local tap-windows6 clone with latest upstream code |
| 29 | * openvpnserv2 (when needed) |
| 30 | * Merge pull requests |
| 31 | * Rebase with upstream |
| 32 | * openvpn-gui |
| 33 | * Merge pull requests |
| 34 | * openvpn-build |
| 35 | * Merge pull requests |
| 36 | * Rebase local clone with upstream |
| 37 | |
| 38 | == Update release dependencies == |
| 39 | |
| 40 | * tap-windows6 (when updated) |
| 41 | * Build |
| 42 | * Cross-sign for Windows 7 |
| 43 | * Produce signed CAB files for attestation signing |
| 44 | * Send CABs to Microsoft signing services |
| 45 | * Wait 15-30 minutes |
| 46 | * Download signed driver files |
| 47 | * Copy signed driver files to tap-windows6 building/signing computer |
| 48 | * Produce MSM packages |
| 49 | * Tag release |
| 50 | * Push changes and tags to Git |
| 51 | * openvpnserv2 (when needed) |
| 52 | * Build |
| 53 | * Put new version to build.openvpn.net |
| 54 | * Put GPG signature (ASC file) to build.openvpn.net |
| 55 | * Tag the release |
| 56 | * Push changes and tags to Git |
| 57 | * openvpn-gui |
| 58 | * Merge pull requests |
| 59 | * Use [https://github.com/OpenVPN/openvpn-release-scripts.git openvpn-release-scripts] to generate and upload a source tarball and GPG signature to build.openvpn.net |
| 60 | * Push changes and tags to Git |
| 61 | * openvpn-build |
| 62 | * Tag the release |
| 63 | Use PRODUCT_VERSION 2.5.0xx for release/2.5 and 2.5.1xx for release/2.6+ |
| 64 | |
| 65 | * Push changes and tags to Git |
| 66 | * Push changes to Git |
| 67 | * sbuild-wrapper |
| 68 | * Generate changelog with [ |
| 69 | Add changelog (auto-generated by openvpn-release-scripts) |
| 70 | |
| 71 | Update version.conf |
| 72 | |
| 73 | Push changes to Git |
| 74 | |
| 75 | Prepare for packaging |
| 76 | |
| 77 | Build tarballs |
| 78 | |
| 79 | Publish tar.gz on build.openvpn.net |
| 80 | |
| 81 | Package: |
| 82 | |
| 83 | Build Windows installers |
| 84 | |
| 85 | Build Debian packages |
| 86 | |
| 87 | Smoketest packages: |
| 88 | |
| 89 | Windows installer |
| 90 | |
| 91 | Debian packages |
| 92 | |
| 93 | Update documentation: |
| 94 | |
| 95 | Man-page on build.openvpn.net |
| 96 | |
| 97 | Changelog on Trac |
| 98 | |
| 99 | Publish packages: |
| 100 | |
| 101 | GPG-sign tarballs and Windows installers |
| 102 | |
| 103 | Push Debian packages to apt repositories |
| 104 | |
| 105 | Copy release files to build.openvpn.net |
| 106 | |
| 107 | Copy release files to swupdate S3 bucket |
| 108 | |
| 109 | Update community downloads page (needs corp-vpn) |
| 110 | |
| 111 | Update links to latest release (not done as build dot openvpn dot net will be replaced soon) |
| 112 | |
| 113 | Release announcements: |
| 114 | |
| 115 | Mailing lists (attach changelog) |
| 116 | |
| 117 | Forums |
| 118 | |
| 119 | Twitter (optional) |
| 120 | |
| 121 | Security announcement (as needed) |
| 122 | |
| 123 | Misc: |
| 124 | |
| 125 | Remove GitHub tokens if you pushed to Git from winsigning.openvpn.in |