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 126 For iterating on the release during testing, pass `--no-tests` to
127 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 138 Example:
134 139  
135 140 cd appimage
136 141 docker build -t qpdfbuild .
137 142 \rm -rf /tmp/build
138 143 mkdir -p /tmp/build
139   -cp -rLp ~/.gnupg/. /tmp/build/.gnupg
140 144 docker run --privileged -ti --rm -v /tmp/build:/tmp/build qpdfbuild https://github.com/jberkenbilt/qpdf -b work
141 145  
142 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 156 shield, and go to "View Features". Disable all features. Disable
153 157 antivirus until next restart.
154 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 163 * Copy the four resulting zip files into the release archive area
159 164 * Re-enable anti-virus software
160 165  
... ...
appimage/entrypoint
... ... @@ -4,8 +4,8 @@ if [ "$SKIP_TESTS" = "1" ]; then
4 4 touch /tmp/skip-tests
5 5 fi
6 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 9 exit 2
10 10 fi
11 11 id=$(stat -c %u /tmp/build)
... ... @@ -25,4 +25,4 @@ cd qpdf
25 25 if [ -f /tmp/skip-tests ]; then
26 26 export SKIP_TESTS=1
27 27 fi
28   -./appimage/build-appimage --sign
  28 +./appimage/build-appimage
... ...
make_windows_releases
... ... @@ -31,19 +31,16 @@ set -x
31 31 cwd=`pwd`
32 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 45 touch win.$wordsize
49 46  
... ...