Commit 92ca2a41bc4621d54217d8066d726f694c40e5eb
1 parent
ec8c7237
Tweak release process
Showing
3 changed files
with
26 additions
and
24 deletions
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 | ... | ... |