fix various issues related to release packages
- travis now tests the packaged source to detect missing source/headers - basic tests are less sensitive to the directory from where they are run - fixed some missing files from the `make dist` manifest - updated the format of NEWS to work with `make dist`master
parent
87091dde4c
commit
e448ff266d
@ -1,5 +1,13 @@
|
||||
MAKEFLAGS = --no-print-directory
|
||||
SUBDIRS = src doc contrib
|
||||
EXTRA_DIST = META COPYRIGHT README.md ChangeLog
|
||||
EXTRA_DIST = META COPYRIGHT README.md NEWS testing
|
||||
|
||||
# ACLOCAL_AMFLAGS needed for autoconf < 2.69
|
||||
ACLOCAL_AMFLAGS = -I config
|
||||
|
||||
# The basic-tests.sh scripts run MPI versions of IOR/mdtest and are therefore
|
||||
# too complicated to run in the context of distclean. As such we reserve
|
||||
# `make dist` and `make test` for simple test binaries that do not require any
|
||||
# special environment.
|
||||
#TESTS = testing/basic-tests.sh
|
||||
#DISTCLEANFILES = -r test test_out
|
||||
|
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build the IOR source package. Returns the path to the built artifact.
|
||||
#
|
||||
|
||||
BASE_DIR="$(cd "${0%/*}" && pwd)"
|
||||
if [ -z "$BASE_DIR" -o ! -d "$BASE_DIR" ]; then
|
||||
echo "Cannot determine BASE_DIR (${BASE_DIR})" >&2
|
||||
exit 2
|
||||
fi
|
||||
BUILD_DIR="${BASE_DIR}/build"
|
||||
|
||||
PACKAGE="$(awk '/^Package/ {print $2}' $BASE_DIR/META)"
|
||||
VERSION="$(awk '/^Version/ {print $2}' $BASE_DIR/META)"
|
||||
DIST_TGZ="${PACKAGE}-${VERSION}.tar.gz"
|
||||
|
||||
# Build the distribution
|
||||
set -e
|
||||
./bootstrap
|
||||
test -d "$BUILD_DIR" && rm -rf "$BUILD_DIR"
|
||||
mkdir -p "$BUILD_DIR"
|
||||
cd "$BUILD_DIR"
|
||||
$BASE_DIR/configure
|
||||
set +e
|
||||
|
||||
make dist && mv -v "${BUILD_DIR}/${DIST_TGZ}" "${BASE_DIR}/${DIST_TGZ}"
|
@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Test the IOR source package. This is a complicated alternative to
|
||||
# the `make distcheck` option.
|
||||
#
|
||||
|
||||
# These options will be passed directly to the autoconf configure script
|
||||
CONFIGURE_OPTS="${CONFIGURE_OPTS:-""}"
|
||||
|
||||
BASE_DIR="$(cd "${0%/*}" && pwd)"
|
||||
if [ -z "$BASE_DIR" -o ! -d "$BASE_DIR" ]; then
|
||||
echo "Cannot determine BASE_DIR (${BASE_DIR})" >&2
|
||||
exit 2
|
||||
fi
|
||||
PACKAGE="$(awk '/^Package/ {print $2}' $BASE_DIR/META)"
|
||||
VERSION="$(awk '/^Version/ {print $2}' $BASE_DIR/META)"
|
||||
DIST_TGZ="${BASE_DIR}/${PACKAGE}-${VERSION}.tar.gz"
|
||||
|
||||
TEST_DIR="${BASE_DIR}/test"
|
||||
INSTALL_DIR="${TEST_DIR}/_inst"
|
||||
|
||||
if [ -z "$DIST_TGZ" -o ! -f "$DIST_TGZ" ]; then
|
||||
echo "Cannot find DIST_TGZ ($DIST_TGZ)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test -d "$TEST_DIR" && rm -rf "$TEST_DIR"
|
||||
mkdir -p "$TEST_DIR"
|
||||
|
||||
tar -C "$TEST_DIR" -zxf "${DIST_TGZ}"
|
||||
|
||||
# Configure, make, and install from the source distribution
|
||||
set -e
|
||||
cd "$TEST_DIR/${PACKAGE}-${VERSION}"
|
||||
./configure $CONFIGURE_OPTS "--prefix=$INSTALL_DIR"
|
||||
make install
|
||||
set +e
|
||||
|
||||
# Run the MPI tests
|
||||
export IOR_BIN_DIR="${INSTALL_DIR}/bin"
|
||||
export IOR_OUT="${TEST_DIR}/test_logs"
|
||||
export IOR_TMP="$(mktemp -d)"
|
||||
source "${TEST_DIR}/${PACKAGE}-${VERSION}/testing/basic-tests.sh"
|
||||
|
||||
# Clean up residual temporary directories (if this isn't running as root)
|
||||
if [ -d "$IOR_TMP" -a "$(id -u)" -ne 0 -a ! -z "$IOR_TMP" ]; then
|
||||
rm -rvf "$IOR_TMP"
|
||||
fi
|
Loading…
Reference in New Issue