1# Maintainer's Guide 2 3## Making a release 4 5### Rebuild generated files and documentation 6 7The documentation and some generated files can be rebuilt by running 8 9 make -C doc rebuild 10 11This requires `xsltproc` and the libxml2 Python bindings to be installed. 12 13### Update the NEWS file 14 15You can get started by running 16 17 git log --format='- %s (%an)' [previous-release-tag].. 18 19### Bump the version number 20 21Edit the version number in `configure.ac` if you haven't done so already. 22 23### Build the tarball 24 25I'd recommend to build the tarball by running 26 27 make distcheck 28 29which performs some useful checks as well. 30 31### Upload the tarball 32 33Follow the instructions at 34<https://wiki.gnome.org/MaintainersCorner/Releasing>: 35 36 scp libxml2-[version].tar.xz master.gnome.org: 37 ssh master.gnome.org ftpadmin install libxml2-[version].tar.xz 38 39### Tag the release 40 41Create an annotated tag and push it: 42 43 git tag -a [version] -m 'Release [version]' 44 git push origin [version] 45 46### Create a GitLab release 47 48Create a new GitLab release on 49<https://gitlab.gnome.org/GNOME/libxml2/-/releases>. 50 51### Announce the release 52 53Announce the release by sending an email to the mailing list at 54xml@gnome.org. 55 56## Updating the CI Docker image 57 58Note that the CI image is used for libxslt as well. Run the following 59commands with the Dockerfile in the .gitlab-ci directory: 60 61 docker login registry.gitlab.gnome.org 62 docker build -t registry.gitlab.gnome.org/gnome/libxml2 - \ 63 < .gitlab-ci/Dockerfile 64 docker push registry.gitlab.gnome.org/gnome/libxml2 65 66