2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 10:58:58 +00:00

Update maintainer notes with new release process

The Azure pipeline does all the artifact creation now.
This commit is contained in:
Jay Berkenbilt 2018-10-13 12:24:46 -04:00
parent 9d1f885f04
commit dbeef33ee4

View File

@ -107,59 +107,15 @@ RELEASE PREPARATION
CREATING A RELEASE
* Be sure that the local git clone's HEAD is a commit that has
upstream/master as an ancestor and that can be pushed to my fork. We
will be generating releases and tagging this commit, which will be
pushed to master as part of the release process.
* Push to master. The azure pipeline will create an artifact called
distribution which will contain all the distribution files. Download
these, verify the checksums from the job output, rename to remove
-ci from the names, and copy to the release archive area.
* Create source release:
* Sign the source distribution:
version=x.y.z
./make_dist $version
gpg --detach-sign --armor /tmp/qpdf-$version.tar.gz
Move /tmp/qpdf-$version.tar.gz and /tmp/qpdf-$version.tar.gz.asc to
the release archive area.
For iterating on the release during testing, pass `--no-tests` to
make_dist to skip the test suite.
* Generate an AppImage using the docker image in appimage. Arguments
to the docker container are arguments to git clone. The build should
be made off the exact commit that will be officially tagged as the
release but built prior to tagging the release. We used to create
signed AppImages, but this is problematic for various reasons (older
gpg on the build image, problems embedding the key in the AppImage
because of ELF issues), and we are signing the AppImages externally,
so it doesn't really matter.
Example:
cd appimage
docker build -t qpdfbuild .
\rm -rf /tmp/build
mkdir -p /tmp/build
docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work
The AppImage in /tmp/build/qpdf/appimage/build should be called
qpdf-$version-x86_64.AppImage. Copy qpdf*AppImage* (AppImage and
zsync) files to the release archive area.
* Create Windows binary releases. In Windows:
* Extract the source distribution
* From there, unzip the binary distribution of the external libraries
* Open windows for 32-bit and 64-bit compilation environments that
support msvc and mingw
* Disable antivirus software. For bitdefender, open, select the "B"
shield, and go to "View Features". Disable all features. Disable
antivirus until next restart.
* In each window simultaneously, run ./make_windows_releases
* NOTE: For now, test failures are not fatal because of unknown
fragility in the Windows test environment. If any tests fail,
test logs are copied to qtest-*. Check test logs carefully
before accepting the releases.
* Copy the four resulting zip files into the release archive area
* Re-enable anti-virus software
gpg --detach-sign --armor qpdf-$version.tar.gz
* Build and test the debian package