Commit 92ca2a41bc4621d54217d8066d726f694c40e5eb

Authored by Jay Berkenbilt
1 parent ec8c7237

Tweak release process

README-maintainer
@@ -126,17 +126,21 @@ gpg --detach-sign --armor qpdf-$version.tar.gz @@ -126,17 +126,21 @@ gpg --detach-sign --armor qpdf-$version.tar.gz
126 For iterating on the release during testing, pass `--no-tests` to 126 For iterating on the release during testing, pass `--no-tests` to
127 make_dist to skip the test suite. 127 make_dist to skip the test suite.
128 128
129 -* Generate a signed AppImage using the docker image in appimage.  
130 - Arguments to the docker container are arguments to git clone. The  
131 - build should be made off the exact commit that will be officially  
132 - tagged as the release but built prior to tagging the release. 129 +* Generate an AppImage using the docker image in appimage. Arguments
  130 + to the docker container are arguments to git clone. The build should
  131 + be made off the exact commit that will be officially tagged as the
  132 + release but built prior to tagging the release. We used to create
  133 + signed AppImages, but this is problematic for various reasons (older
  134 + gpg on the build image, problems embedding the key in the AppImage
  135 + because of ELF issues), and we are signing the AppImages externally,
  136 + so it doesn't really matter.
  137 +
133 Example: 138 Example:
134 139
135 cd appimage 140 cd appimage
136 docker build -t qpdfbuild . 141 docker build -t qpdfbuild .
137 \rm -rf /tmp/build 142 \rm -rf /tmp/build
138 mkdir -p /tmp/build 143 mkdir -p /tmp/build
139 -cp -rLp ~/.gnupg/. /tmp/build/.gnupg  
140 docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work 144 docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work
141 145
142 The AppImage in /tmp/build/qpdf/appimage/build should be called 146 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 @@ -152,9 +156,10 @@ docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://gith
152 shield, and go to "View Features". Disable all features. Disable 156 shield, and go to "View Features". Disable all features. Disable
153 antivirus until next restart. 157 antivirus until next restart.
154 * In each window simultaneously, run ./make_windows_releases 158 * In each window simultaneously, run ./make_windows_releases
155 - * NOTE: For now, test failure is not fatal for 32-bit Windows  
156 - builds because of unknown fragility in the test environment.  
157 - Check test logs carefully. Tests must pass on 64-bit. 159 + * NOTE: For now, test failures are not fatal because of unknown
  160 + fragility in the Windows test environment. If any tests fail,
  161 + test logs are copied to qtest-*. Check test logs carefully
  162 + before accepting the releases.
158 * Copy the four resulting zip files into the release archive area 163 * Copy the four resulting zip files into the release archive area
159 * Re-enable anti-virus software 164 * Re-enable anti-virus software
160 165
appimage/entrypoint
@@ -4,8 +4,8 @@ if [ "$SKIP_TESTS" = "1" ]; then @@ -4,8 +4,8 @@ if [ "$SKIP_TESTS" = "1" ]; then
4 touch /tmp/skip-tests 4 touch /tmp/skip-tests
5 fi 5 fi
6 if [ $(id -u) = 0 ]; then 6 if [ $(id -u) = 0 ]; then
7 - if [ ! -d /tmp/build/.gnupg ]; then  
8 - echo "/tmp/build must exist and must contain .gnupg" 7 + if [ ! -d /tmp/build ]; then
  8 + echo "/tmp/build must exist"
9 exit 2 9 exit 2
10 fi 10 fi
11 id=$(stat -c %u /tmp/build) 11 id=$(stat -c %u /tmp/build)
@@ -25,4 +25,4 @@ cd qpdf @@ -25,4 +25,4 @@ cd qpdf
25 if [ -f /tmp/skip-tests ]; then 25 if [ -f /tmp/skip-tests ]; then
26 export SKIP_TESTS=1 26 export SKIP_TESTS=1
27 fi 27 fi
28 -./appimage/build-appimage --sign 28 +./appimage/build-appimage
make_windows_releases
@@ -31,19 +31,16 @@ set -x @@ -31,19 +31,16 @@ set -x
31 cwd=`pwd` 31 cwd=`pwd`
32 PATH=$cwd/libqpdf/build:$PATH 32 PATH=$cwd/libqpdf/build:$PATH
33 33
34 -rm -rf install-mingw$wordsize install-msvc$wordsize  
35 -  
36 -./config-msvc  
37 -make -j8  
38 -make -k check || test $wordsize = 32  
39 -make install  
40 -make distclean  
41 -  
42 -./config-mingw  
43 -make -j8  
44 -make -k check || test $wordsize = 32  
45 -make install  
46 -make distclean 34 +for i in msvc mingw; do
  35 + rm -rf {install,qtest}-$i$wordsize
  36 + ./config-$i
  37 + make -j8
  38 + make -k check || \
  39 + { mkdir qtest-$i$wordsize; \
  40 + tar cf - */build/qtest.log | (cd qtest-$i$wordsize; tar xf -) }
  41 + make install
  42 + make distclean
  43 +done
47 44
48 touch win.$wordsize 45 touch win.$wordsize
49 46