Commit dbeef33ee482279013eb672e3ac99412057ab46b
1 parent
9d1f885f
Update maintainer notes with new release process
The Azure pipeline does all the artifact creation now.
Showing
1 changed file
with
6 additions
and
50 deletions
README-maintainer
| ... | ... | @@ -107,59 +107,15 @@ RELEASE PREPARATION |
| 107 | 107 | |
| 108 | 108 | CREATING A RELEASE |
| 109 | 109 | |
| 110 | -* Be sure that the local git clone's HEAD is a commit that has | |
| 111 | - upstream/master as an ancestor and that can be pushed to my fork. We | |
| 112 | - will be generating releases and tagging this commit, which will be | |
| 113 | - pushed to master as part of the release process. | |
| 110 | +* Push to master. The azure pipeline will create an artifact called | |
| 111 | + distribution which will contain all the distribution files. Download | |
| 112 | + these, verify the checksums from the job output, rename to remove | |
| 113 | + -ci from the names, and copy to the release archive area. | |
| 114 | 114 | |
| 115 | -* Create source release: | |
| 115 | +* Sign the source distribution: | |
| 116 | 116 | |
| 117 | 117 | version=x.y.z |
| 118 | -./make_dist $version | |
| 119 | -gpg --detach-sign --armor /tmp/qpdf-$version.tar.gz | |
| 120 | - | |
| 121 | - Move /tmp/qpdf-$version.tar.gz and /tmp/qpdf-$version.tar.gz.asc to | |
| 122 | - the release archive area. | |
| 123 | - | |
| 124 | - For iterating on the release during testing, pass `--no-tests` to | |
| 125 | - make_dist to skip the test suite. | |
| 126 | - | |
| 127 | -* Generate an AppImage using the docker image in appimage. Arguments | |
| 128 | - to the docker container are arguments to git clone. The build should | |
| 129 | - be made off the exact commit that will be officially tagged as the | |
| 130 | - release but built prior to tagging the release. We used to create | |
| 131 | - signed AppImages, but this is problematic for various reasons (older | |
| 132 | - gpg on the build image, problems embedding the key in the AppImage | |
| 133 | - because of ELF issues), and we are signing the AppImages externally, | |
| 134 | - so it doesn't really matter. | |
| 135 | - | |
| 136 | - Example: | |
| 137 | - | |
| 138 | -cd appimage | |
| 139 | -docker build -t qpdfbuild . | |
| 140 | -\rm -rf /tmp/build | |
| 141 | -mkdir -p /tmp/build | |
| 142 | -docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work | |
| 143 | - | |
| 144 | - The AppImage in /tmp/build/qpdf/appimage/build should be called | |
| 145 | - qpdf-$version-x86_64.AppImage. Copy qpdf*AppImage* (AppImage and | |
| 146 | - zsync) files to the release archive area. | |
| 147 | - | |
| 148 | -* Create Windows binary releases. In Windows: | |
| 149 | - * Extract the source distribution | |
| 150 | - * From there, unzip the binary distribution of the external libraries | |
| 151 | - * Open windows for 32-bit and 64-bit compilation environments that | |
| 152 | - support msvc and mingw | |
| 153 | - * Disable antivirus software. For bitdefender, open, select the "B" | |
| 154 | - shield, and go to "View Features". Disable all features. Disable | |
| 155 | - antivirus until next restart. | |
| 156 | - * In each window simultaneously, run ./make_windows_releases | |
| 157 | - * NOTE: For now, test failures are not fatal because of unknown | |
| 158 | - fragility in the Windows test environment. If any tests fail, | |
| 159 | - test logs are copied to qtest-*. Check test logs carefully | |
| 160 | - before accepting the releases. | |
| 161 | - * Copy the four resulting zip files into the release archive area | |
| 162 | - * Re-enable anti-virus software | |
| 118 | +gpg --detach-sign --armor qpdf-$version.tar.gz | |
| 163 | 119 | |
| 164 | 120 | * Build and test the debian package |
| 165 | 121 | ... | ... |