github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/hack/release.sh (about) 1 #!/bin/sh 2 # 3 # Cut a libpod release. Usage: 4 # 5 # $ hack/release.sh <version> <next-version> 6 # 7 # For example: 8 # 9 # $ hack/release.sh 1.2.3 1.3.0 10 # 11 # for "I'm cutting 1.2.3, and want to use 1.3.0-dev for future work". 12 13 VERSION="$1" 14 NEXT_VERSION="$2" 15 16 if test "${NEXT_VERSION}" != "${NEXT_VERSION%-dev}" 17 then 18 echo "The next-version argument '${NEXT_VERSION}' should not end in '-dev'." >&2 19 echo "This script will add the -dev suffix as needed internally. Try:" >&2 20 echo " $0 ${VERSION} ${NEXT_VERSION%-dev}" >&2 21 exit 1 22 fi 23 24 DATE=$(date '+%Y-%m-%d') 25 LAST_TAG=$(git describe --tags --abbrev=0) 26 27 write_go_version() 28 { 29 LOCAL_VERSION="$1" 30 sed -i "s/^\(const Version = \"\).*/\1${LOCAL_VERSION}\"/" version/version.go 31 } 32 33 write_spec_version() 34 { 35 LOCAL_VERSION="$1" 36 sed -i "s/^\(Version: *\).*/\1${LOCAL_VERSION}/" contrib/spec/podman.spec.in 37 } 38 39 write_changelog() 40 { 41 echo "- Changelog for v${VERSION} (${DATE})" >.changelog.txt && 42 git log --no-merges --format=' * %s' "${LAST_TAG}..HEAD" >>.changelog.txt && 43 echo >>.changelog.txt && 44 cat changelog.txt >>.changelog.txt && 45 mv -f .changelog.txt changelog.txt 46 } 47 48 release_commit() 49 { 50 write_go_version "${VERSION}" && 51 write_spec_version "${VERSION}" && 52 write_changelog && 53 git commit -asm "Bump to v${VERSION}" 54 } 55 56 dev_version_commit() 57 { 58 write_go_version "${NEXT_VERSION}-dev" && 59 write_spec_version "${NEXT_VERSION}" && 60 git commit -asm "Bump to v${NEXT_VERSION}-dev" 61 } 62 63 git fetch origin && 64 git checkout -b "bump-${VERSION}" origin/master && 65 release_commit && 66 git tag -s -m "version ${VERSION}" "v${VERSION}" && 67 dev_version_commit