Closed cgwalters closed 2 months ago
The release process follows the usual PR-and-review flow, allowing an external reviewer to have a final check before publishing a release.
This guide requires:
git
Prepare local environment:
git remote get-url --push origin
git@github.com:ostreedev/ostree.git
git checkout main && git pull
git clean -fd
RELEASE_VER=yyyy.n
package_version
configure.ac
git checkout -b release-${RELEASE_VER}
Prepare the release commits:
sed -i -e 's/^is_release_build=no/is_release_build=yes/' configure.ac
src/libostree/libostree-devel.sym
src/libostree/libostree-released.sym
Makefile-libostree.am
tests/test-symbols.sh
sha256sum src/libostree/libostree-released.sym
git commit -a -m "Release ${RELEASE_VER}"
RELEASE_COMMIT=$(git rev-parse HEAD)
./autogen.sh && make dist
year_version
release_version
sed -i -e 's/^is_release_build=yes/is_release_build=no/' configure.ac
git commit -a -m 'configure: post-release version bump'
Open a PR to create the release:
git push -u origin release-${RELEASE_VER}
Release ${RELEASE_VER}
git shortlog
[ ] get the PR reviewed, approved and merged
Publish the tag:
git fetch origin && git checkout ${RELEASE_COMMIT}
git-evtag sign v${RELEASE_VER}
git push --tags origin v${RELEASE_VER}
Publish the release and artifacts on GitHub:
libostree-{RELEASE_VER}.tar.xz
Clean up:
git checkout main
git pull
git push origin :release-${RELEASE_VER}
git branch -d release-${RELEASE_VER}
Release process
The release process follows the usual PR-and-review flow, allowing an external reviewer to have a final check before publishing a release.
Requirements
This guide requires:
git
Release checklist
Prepare local environment:
git remote get-url --push origin
git@github.com:ostreedev/ostree.git
git checkout main && git pull
git clean -fd
RELEASE_VER=yyyy.n
(matchingpackage_version
inconfigure.ac
)git checkout -b release-${RELEASE_VER}
Prepare the release commits:
sed -i -e 's/^is_release_build=no/is_release_build=yes/' configure.ac
src/libostree/libostree-devel.sym
tosrc/libostree/libostree-released.sym
src/libostree/libostree-devel.sym
include inMakefile-libostree.am
tests/test-symbols.sh
with the new digest fromsha256sum src/libostree/libostree-released.sym
git commit -a -m "Release ${RELEASE_VER}"
RELEASE_COMMIT=$(git rev-parse HEAD)
./autogen.sh && make dist
year_version
andrelease_version
inconfigure.ac
for the next development cyclesed -i -e 's/^is_release_build=yes/is_release_build=no/' configure.ac
git commit -a -m 'configure: post-release version bump'
Open a PR to create the release:
git push -u origin release-${RELEASE_VER}
Release ${RELEASE_VER}
git shortlog
too)[ ] get the PR reviewed, approved and merged
Publish the tag:
git fetch origin && git checkout ${RELEASE_COMMIT}
git-evtag sign v${RELEASE_VER}
git push --tags origin v${RELEASE_VER}
Publish the release and artifacts on GitHub:
libostree-{RELEASE_VER}.tar.xz
Clean up:
git clean -fd
git checkout main
git pull
git push origin :release-${RELEASE_VER}
git branch -d release-${RELEASE_VER}