about summary refs log tree commit diff
path: root/HACKING.md
blob: b2a56efab7d865762fbc0235d075e72cdb97322a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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.