Changeset View
Changeset View
Standalone View
Standalone View
contrib/source-control-tools/automated-commits.sh
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | |||||
export BUILD_DIR | export BUILD_DIR | ||||
DEVTOOLS_DIR="${TOPLEVEL}"/contrib/devtools | DEVTOOLS_DIR="${TOPLEVEL}"/contrib/devtools | ||||
# Make sure tree is clean | # Make sure tree is clean | ||||
git checkout master | git checkout master | ||||
git reset --hard "${PARENT_COMMIT}" | git reset --hard "${PARENT_COMMIT}" | ||||
# Utility functions to compare version strings | |||||
version_greater_equal() { | |||||
printf '%s\n%s\n' "$2" "$1" | sort -V -C | |||||
} | |||||
version_greater() { | |||||
[ "$1" != "$2" ] && version_greater_equal "$1" "$2" | |||||
} | |||||
version_less_equal() { | |||||
! version_greater "$1" "$2" | |||||
} | |||||
version_less() { | |||||
! version_greater_equal "$1" "$2" | |||||
} | |||||
get_current_version() { | |||||
local -n CURRENT_VERSION=$1 | |||||
# Get the current version of the software | |||||
"${DEVTOOLS_DIR}"/build_cmake.sh --no-build | |||||
pushd "$BUILD_DIR" | |||||
CURRENT_VERSION="$(ninja print-version | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$')" | |||||
popd | |||||
} | |||||
# Common script to update the AUR packages. | # Common script to update the AUR packages. | ||||
# Usage: update-aur-version <package_name> | # Usage: update-aur-version <package_name> | ||||
update-aur-version() { | update-aur-version() { | ||||
# shellcheck source=../utils/compare-version.sh | |||||
source "${TOPLEVEL}"/contrib/utils/compare-version.sh | |||||
PACKAGE="$1" | PACKAGE="$1" | ||||
CURRENT_VERSION="" | CURRENT_VERSION="" | ||||
get_current_version CURRENT_VERSION | get_current_version CURRENT_VERSION | ||||
# Get the current version of the AUR package | # Get the current version of the AUR package | ||||
PKGBUILD="${TOPLEVEL}"/contrib/aur/${PACKAGE}/PKGBUILD | PKGBUILD="${TOPLEVEL}"/contrib/aur/${PACKAGE}/PKGBUILD | ||||
# shellcheck source=../aur/bitcoin-abc/PKGBUILD | # shellcheck source=../aur/bitcoin-abc/PKGBUILD | ||||
Show All 15 Lines | update-aur-version() { | ||||
sed -i "s/pkgver=${pkgver}/pkgver=${CURRENT_VERSION}/" "${PKGBUILD}" | sed -i "s/pkgver=${pkgver}/pkgver=${CURRENT_VERSION}/" "${PKGBUILD}" | ||||
git add "${PKGBUILD}" | git add "${PKGBUILD}" | ||||
git commit -m "Bump ${PACKAGE} AUR package version to ${CURRENT_VERSION}" | git commit -m "Bump ${PACKAGE} AUR package version to ${CURRENT_VERSION}" | ||||
} | } | ||||
case "${COMMIT_TYPE}" in | case "${COMMIT_TYPE}" in | ||||
archive-release-notes) | archive-release-notes) | ||||
# shellcheck source=../utils/compare-version.sh | |||||
source "${TOPLEVEL}"/contrib/utils/compare-version.sh | |||||
RELEASE_NOTES_FILE="${TOPLEVEL}/doc/release-notes.md" | RELEASE_NOTES_FILE="${TOPLEVEL}/doc/release-notes.md" | ||||
RELEASE_NOTES_VERSION=$(sed -n "1s/^Bitcoin ABC version \([0-9]\+\.[0-9]\+\.[0-9]\+\).\+$/\1/p" "${RELEASE_NOTES_FILE}") | RELEASE_NOTES_VERSION=$(sed -n "1s/^Bitcoin ABC version \([0-9]\+\.[0-9]\+\.[0-9]\+\).\+$/\1/p" "${RELEASE_NOTES_FILE}") | ||||
RELEASE_NOTES_ARCHIVE="${TOPLEVEL}/doc/release-notes/release-notes-${RELEASE_NOTES_VERSION}.md" | RELEASE_NOTES_ARCHIVE="${TOPLEVEL}/doc/release-notes/release-notes-${RELEASE_NOTES_VERSION}.md" | ||||
CURRENT_VERSION="" | CURRENT_VERSION="" | ||||
get_current_version CURRENT_VERSION | get_current_version CURRENT_VERSION | ||||
# Compare the versions. We only want to archive the release notes if the | # Compare the versions. We only want to archive the release notes if the | ||||
▲ Show 20 Lines • Show All 120 Lines • Show Last 20 Lines |