about summary refs log tree commit diff
path: root/HACKING.md
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING.md')
-rw-r--r--HACKING.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/HACKING.md b/HACKING.md
new file mode 100644
index 0000000..b2a56ef
--- /dev/null
+++ b/HACKING.md
@@ -0,0 +1,35 @@
+# Set up development environment
+
+Drop into a development environment using `guix shell`.
+```
+guix shell -Df guix.scm
+```
+
+# Build the website
+
+```
+guix build -L .guix -f guile-xapian-website.scm
+```
+
+# Make a release
+## Bump version
+Bump version in `configure.ac`.
+## Tag a release
+Tag (annotated and signed; use the -ase flags to `git tag`) a release `vx.x.x` putting news into the tag message.
+## Create a release tarball, test it, and sign it
+```
+cp $(guix build -L .guix -f .guix/guile-xapian-distribution.scm) guile-xapian-x.x.x.tar.lz
+guix build -L .guix --with-source=guile-xapian=guile-xapian-x.x.x.tar.lz -e '(@@ (guile-xapian-package) guile-xapian)'
+guix build -L .guix --with-source=guile2.2-xapian=guile-xapian-x.x.x.tar.lz -e '(@@ (guile-xapian-package) guile2.2-xapian)'
+gpg --detach-sign --armor guile-xapian-x.x.x.tar.lz
+```
+## Publish release tarball
+Add release tarball and signature to website.
+## Update Guix package
+## Publicize
+Publicize on
+- [guile-xapian public inbox](mailto:guile-xapian@systemreboot.net)
+- [guile-user mailing list](mailto:guile-user@gnu.org)
+- the fediverse
+
+A mail template is available in `release-email.scm`. If you have your default mail client configured correctly, you can simply run `./release-email.scm` to open your mail client with the announcement e-mail filled in.