Tweak release process

This commit is contained in:
Jay Berkenbilt 2018-06-22 22:11:35 -04:00
parent ec8c7237e3
commit 92ca2a41bc
3 changed files with 26 additions and 24 deletions

View File

@ -126,17 +126,21 @@ gpg --detach-sign --armor qpdf-$version.tar.gz
For iterating on the release during testing, pass `--no-tests` to For iterating on the release during testing, pass `--no-tests` to
make_dist to skip the test suite. make_dist to skip the test suite.
* Generate a signed AppImage using the docker image in appimage. * Generate an AppImage using the docker image in appimage. Arguments
Arguments to the docker container are arguments to git clone. The to the docker container are arguments to git clone. The build should
build should be made off the exact commit that will be officially be made off the exact commit that will be officially tagged as the
tagged as the release but built prior to tagging the release. 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: Example:
cd appimage cd appimage
docker build -t qpdfbuild . docker build -t qpdfbuild .
\rm -rf /tmp/build \rm -rf /tmp/build
mkdir -p /tmp/build mkdir -p /tmp/build
cp -rLp ~/.gnupg/. /tmp/build/.gnupg
docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work 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 The AppImage in /tmp/build/qpdf/appimage/build should be called
@ -152,9 +156,10 @@ docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://gith
shield, and go to "View Features". Disable all features. Disable shield, and go to "View Features". Disable all features. Disable
antivirus until next restart. antivirus until next restart.
* In each window simultaneously, run ./make_windows_releases * In each window simultaneously, run ./make_windows_releases
* NOTE: For now, test failure is not fatal for 32-bit Windows * NOTE: For now, test failures are not fatal because of unknown
builds because of unknown fragility in the test environment. fragility in the Windows test environment. If any tests fail,
Check test logs carefully. Tests must pass on 64-bit. 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 * Copy the four resulting zip files into the release archive area
* Re-enable anti-virus software * Re-enable anti-virus software

View File

@ -4,8 +4,8 @@ if [ "$SKIP_TESTS" = "1" ]; then
touch /tmp/skip-tests touch /tmp/skip-tests
fi fi
if [ $(id -u) = 0 ]; then if [ $(id -u) = 0 ]; then
if [ ! -d /tmp/build/.gnupg ]; then if [ ! -d /tmp/build ]; then
echo "/tmp/build must exist and must contain .gnupg" echo "/tmp/build must exist"
exit 2 exit 2
fi fi
id=$(stat -c %u /tmp/build) id=$(stat -c %u /tmp/build)
@ -25,4 +25,4 @@ cd qpdf
if [ -f /tmp/skip-tests ]; then if [ -f /tmp/skip-tests ]; then
export SKIP_TESTS=1 export SKIP_TESTS=1
fi fi
./appimage/build-appimage --sign ./appimage/build-appimage

View File

@ -31,19 +31,16 @@ set -x
cwd=`pwd` cwd=`pwd`
PATH=$cwd/libqpdf/build:$PATH PATH=$cwd/libqpdf/build:$PATH
rm -rf install-mingw$wordsize install-msvc$wordsize for i in msvc mingw; do
rm -rf {install,qtest}-$i$wordsize
./config-msvc ./config-$i
make -j8 make -j8
make -k check || test $wordsize = 32 make -k check || \
make install { mkdir qtest-$i$wordsize; \
make distclean tar cf - */build/qtest.log | (cd qtest-$i$wordsize; tar xf -) }
make install
./config-mingw make distclean
make -j8 done
make -k check || test $wordsize = 32
make install
make distclean
touch win.$wordsize touch win.$wordsize