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