Commit dbeef33ee482279013eb672e3ac99412057ab46b

Authored by Jay Berkenbilt
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,59 +107,15 @@ RELEASE PREPARATION
107 107
108 CREATING A RELEASE 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 version=x.y.z 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 * Build and test the debian package 120 * Build and test the debian package
165 121