Skip to content

Commit

Permalink
Tweak release process
Browse files Browse the repository at this point in the history
  • Loading branch information
jberkenbilt committed Jun 23, 2018
1 parent ec8c723 commit 92ca2a4
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 24 deletions.
21 changes: 13 additions & 8 deletions README-maintainer
Original file line number Diff line number Diff line change
Expand Up @@ -126,17 +126,21 @@ gpg --detach-sign --armor qpdf-$version.tar.gz
For iterating on the release during testing, pass `--no-tests` to
make_dist to skip the test suite.

* Generate a signed 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.
* 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
cp -rLp ~/.gnupg/. /tmp/build/.gnupg
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
Expand All @@ -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
antivirus until next restart.
* In each window simultaneously, run ./make_windows_releases
* NOTE: For now, test failure is not fatal for 32-bit Windows
builds because of unknown fragility in the test environment.
Check test logs carefully. Tests must pass on 64-bit.
* 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

Expand Down
6 changes: 3 additions & 3 deletions appimage/entrypoint
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ if [ "$SKIP_TESTS" = "1" ]; then
touch /tmp/skip-tests
fi
if [ $(id -u) = 0 ]; then
if [ ! -d /tmp/build/.gnupg ]; then
echo "/tmp/build must exist and must contain .gnupg"
if [ ! -d /tmp/build ]; then
echo "/tmp/build must exist"
exit 2
fi
id=$(stat -c %u /tmp/build)
Expand All @@ -25,4 +25,4 @@ cd qpdf
if [ -f /tmp/skip-tests ]; then
export SKIP_TESTS=1
fi
./appimage/build-appimage --sign
./appimage/build-appimage
23 changes: 10 additions & 13 deletions make_windows_releases
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,16 @@ set -x
cwd=`pwd`
PATH=$cwd/libqpdf/build:$PATH

rm -rf install-mingw$wordsize install-msvc$wordsize

./config-msvc
make -j8
make -k check || test $wordsize = 32
make install
make distclean

./config-mingw
make -j8
make -k check || test $wordsize = 32
make install
make distclean
for i in msvc mingw; do
rm -rf {install,qtest}-$i$wordsize
./config-$i
make -j8
make -k check || \
{ mkdir qtest-$i$wordsize; \
tar cf - */build/qtest.log | (cd qtest-$i$wordsize; tar xf -) }
make install
make distclean
done

touch win.$wordsize

Expand Down

0 comments on commit 92ca2a4

Please sign in to comment.