Merge pull request #2133 from jlebon/pr/ci-commitmessage
ci: Import latest ci-commitmessage-submodules from rpm-ostree
This commit is contained in:
commit
7c2d45e7cb
|
|
@ -4,7 +4,7 @@
|
||||||
set -xeuo pipefail
|
set -xeuo pipefail
|
||||||
|
|
||||||
dn=$(dirname $0)
|
dn=$(dirname $0)
|
||||||
. ${dn}/libpaprci/libbuild.sh
|
. ${dn}/libbuild.sh
|
||||||
${dn}/build.sh
|
${dn}/build.sh
|
||||||
topdir=$(git rev-parse --show-toplevel)
|
topdir=$(git rev-parse --show-toplevel)
|
||||||
resultsdir=$(mktemp -d)
|
resultsdir=$(mktemp -d)
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
set -xeuo pipefail
|
set -xeuo pipefail
|
||||||
|
|
||||||
dn=$(dirname $0)
|
dn=$(dirname $0)
|
||||||
paprcidir=${dn}/libpaprci
|
. ${dn}/libbuild.sh
|
||||||
. ${paprcidir}/libbuild.sh
|
|
||||||
|
|
||||||
# Auto-provision bootstrap resources if run as root (normally in CI)
|
# Auto-provision bootstrap resources if run as root (normally in CI)
|
||||||
if test "$(id -u)" == 0; then
|
if test "$(id -u)" == 0; then
|
||||||
|
|
@ -34,13 +33,13 @@ case "${CONFIGOPTS:-}" in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# TODO: Use some form of rpm's --build-in-place to skip archive-then-unpack?
|
# TODO: Use some form of rpm's --build-in-place to skip archive-then-unpack?
|
||||||
make -f ${paprcidir}/Makefile.dist-packaging srpm PACKAGE=libostree DISTGIT_NAME=ostree
|
make -f ${dn}/Makefile.dist-packaging srpm PACKAGE=libostree DISTGIT_NAME=ostree
|
||||||
if test "$(id -u)" == 0; then
|
if test "$(id -u)" == 0; then
|
||||||
pkg_builddep *.src.rpm
|
pkg_builddep *.src.rpm
|
||||||
else
|
else
|
||||||
echo "NOTE: Running as non-root, assuming build dependencies are installed"
|
echo "NOTE: Running as non-root, assuming build dependencies are installed"
|
||||||
fi
|
fi
|
||||||
if ! ${paprcidir}/rpmbuild-cwd --rebuild *.src.rpm; then
|
if ! ${dn}/rpmbuild-cwd --rebuild *.src.rpm; then
|
||||||
find . -type f -name config.log -exec cat {} \;
|
find . -type f -name config.log -exec cat {} \;
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
set -xeuo pipefail
|
set -xeuo pipefail
|
||||||
|
|
||||||
dn=$(dirname $0)
|
dn=$(dirname $0)
|
||||||
. ${dn}/libpaprci/libbuild.sh
|
. ${dn}/libbuild.sh
|
||||||
|
|
||||||
${dn}/installdeps.sh
|
${dn}/installdeps.sh
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -xeuo pipefail
|
||||||
|
|
||||||
|
dn=$(dirname $0)
|
||||||
|
. ${dn}/libbuild.sh
|
||||||
|
|
||||||
# Copyright 2017 Colin Walters <walters@verbum.org>
|
# Copyright 2017 Colin Walters <walters@verbum.org>
|
||||||
# Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php)
|
# Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php)
|
||||||
|
|
@ -13,11 +16,8 @@ set -euo pipefail
|
||||||
# It's very common for people to accidentally change submodules, and having this
|
# It's very common for people to accidentally change submodules, and having this
|
||||||
# requirement is a small hurdle to pass.
|
# requirement is a small hurdle to pass.
|
||||||
|
|
||||||
# if running under PAPR, use the branch/PR HEAD actually
|
# If passed the commit, use that. Otherwise, just use HEAD.
|
||||||
# being tested rather than the merge sha
|
HEAD=${1:-HEAD}
|
||||||
HEAD=${PAPR_COMMIT:-HEAD}
|
|
||||||
dn=$(dirname $0)
|
|
||||||
. ${dn}/libpaprci/libbuild.sh
|
|
||||||
|
|
||||||
tmpd=$(mktemp -d)
|
tmpd=$(mktemp -d)
|
||||||
touch ${tmpd}/.tmpdir
|
touch ${tmpd}/.tmpdir
|
||||||
|
|
@ -42,17 +42,34 @@ cp -a ${gitdir} ${tmpd}/workdir
|
||||||
cd ${tmpd}/workdir
|
cd ${tmpd}/workdir
|
||||||
git log --pretty=oneline origin/master..$HEAD | while read logline; do
|
git log --pretty=oneline origin/master..$HEAD | while read logline; do
|
||||||
commit=$(echo ${logline} | cut -f 1 -d ' ')
|
commit=$(echo ${logline} | cut -f 1 -d ' ')
|
||||||
|
# For merge commits, just check that they're empty (i.e. no conflict
|
||||||
|
# resolution was needed). Otherwise, let's just error out. Conflicts should
|
||||||
|
# be resolved by rebasing the PR.
|
||||||
|
# https://stackoverflow.com/questions/3824050#comment82244548_13956422
|
||||||
|
if [ "$(git rev-list --no-walk --count --merges ${commit})" -ne 0 ]; then
|
||||||
|
if [ -n "$(git diff-tree ${commit})" ]; then
|
||||||
|
echo "error: non-empty git merge: resolve conflicts by rebasing!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Commit ${commit} is an empty merge commit; ignoring..."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
git diff --name-only ${commit}^..${commit} > ${tmpd}/diff.txt
|
git diff --name-only ${commit}^..${commit} > ${tmpd}/diff.txt
|
||||||
git log -1 ${commit} > ${tmpd}/log.txt
|
git log -1 ${commit} > ${tmpd}/log.txt
|
||||||
echo "Validating commit for submodules: $commit"
|
echo "Validating commit for submodules: $commit"
|
||||||
|
sed -e 's,^,# ,' < ${tmpd}/log.txt
|
||||||
git checkout -q "${commit}"
|
git checkout -q "${commit}"
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
git submodule foreach --quiet 'echo $path'| while read submodule; do
|
git submodule foreach --quiet 'echo $path'| while read submodule; do
|
||||||
if grep -q -e '^'${submodule} ${tmpd}/diff.txt; then
|
if grep -q -e '^'${submodule} ${tmpd}/diff.txt; then
|
||||||
echo "Commit $commit modifies submodule: $submodule"
|
echo "Commit $commit modifies submodule: $submodule"
|
||||||
expected_match="Update submodule: $submodule"
|
expected_match="Update submodule: $submodule"
|
||||||
|
# check if it's from dependabot
|
||||||
|
if grep -q -e '^Author: dependabot' ${tmpd}/log.txt; then
|
||||||
|
echo "Commit $commit contains bump from Dependabot"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
if ! grep -q -e "$expected_match" ${tmpd}/log.txt; then
|
if ! grep -q -e "$expected_match" ${tmpd}/log.txt; then
|
||||||
sed -e 's,^,# ,' < ${tmpd}/log.txt
|
|
||||||
echo "error: Commit message for ${commit} changes a submodule, but does not match regex ${expected_match}"
|
echo "error: Commit message for ${commit} changes a submodule, but does not match regex ${expected_match}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ set -xeuo pipefail
|
||||||
FLATPAK_TAG=1.4.1
|
FLATPAK_TAG=1.4.1
|
||||||
|
|
||||||
dn=$(dirname $0)
|
dn=$(dirname $0)
|
||||||
. ${dn}/libpaprci/libbuild.sh
|
. ${dn}/libbuild.sh
|
||||||
|
|
||||||
codedir=$(pwd)
|
codedir=$(pwd)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ if [ -n "${SKIP_INSTALLDEPS:-}" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dn=$(dirname $0)
|
dn=$(dirname $0)
|
||||||
. ${dn}/libpaprci/libbuild.sh
|
. ${dn}/libbuild.sh
|
||||||
|
|
||||||
pkg_upgrade
|
pkg_upgrade
|
||||||
pkg_install_buildroot
|
pkg_install_buildroot
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
set -xeuo pipefail
|
set -xeuo pipefail
|
||||||
|
|
||||||
dn=$(dirname $0)
|
dn=$(dirname $0)
|
||||||
. ${dn}/libpaprci/libbuild.sh
|
. ${dn}/libbuild.sh
|
||||||
pkg_upgrade
|
pkg_upgrade
|
||||||
pkg_install_buildroot
|
pkg_install_buildroot
|
||||||
pkg_install sudo which attr fuse strace \
|
pkg_install sudo which attr fuse strace \
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ set -xeuo pipefail
|
||||||
RPMOSTREE_TAG=v2019.4
|
RPMOSTREE_TAG=v2019.4
|
||||||
|
|
||||||
dn=$(dirname $0)
|
dn=$(dirname $0)
|
||||||
. ${dn}/libpaprci/libbuild.sh
|
. ${dn}/libbuild.sh
|
||||||
|
|
||||||
codedir=$(pwd)
|
codedir=$(pwd)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue