| # Maintainer's Guide |
| |
| ## Making a release |
| |
| ### Rebuild generated files and documentation |
| |
| The documentation and some generated files can be rebuilt by running |
| |
| make -C doc rebuild |
| |
| This requires `xsltproc` and the libxml2 Python bindings to be installed. |
| |
| ### Update the NEWS file |
| |
| You can get started by running |
| |
| git log --format='- %s (%an)' [previous-release-tag].. |
| |
| ### Bump the version number |
| |
| Edit the version number in `configure.ac` if you haven't done so already. |
| |
| ### Build the tarball |
| |
| I'd recommend to build the tarball by running |
| |
| make distcheck |
| |
| which performs some useful checks as well. |
| |
| ### Upload the tarball |
| |
| Follow the instructions at |
| <https://wiki.gnome.org/MaintainersCorner/Releasing>: |
| |
| scp libxml2-[version].tar.xz master.gnome.org: |
| ssh master.gnome.org ftpadmin install libxml2-[version].tar.xz |
| |
| ### Tag the release |
| |
| Create an annotated tag and push it: |
| |
| git tag -a [version] -m 'Release [version]' |
| git push origin [version] |
| |
| ### Create a GitLab release |
| |
| Create a new GitLab release on |
| <https://gitlab.gnome.org/GNOME/libxml2/-/releases>. |
| |
| ### Announce the release |
| |
| Announce the release by sending an email to the mailing list at |
| xml@gnome.org. |
| |
| ## Updating the CI Docker image |
| |
| Note that the CI image is used for libxslt as well. Run the following |
| commands with the Dockerfile in the .gitlab-ci directory: |
| |
| docker login registry.gitlab.gnome.org |
| docker build -t registry.gitlab.gnome.org/gnome/libxml2 - \ |
| < .gitlab-ci/Dockerfile |
| docker push registry.gitlab.gnome.org/gnome/libxml2 |
| |