forked from DOMjudge/domjudge-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnew_release_howto.txt
40 lines (38 loc) · 2.1 KB
/
new_release_howto.txt
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
36
37
38
39
40
A new release can be created by one of the main DOMjudge developers.
The following steps should be taken (local directories refer to those
on the account `domjudge@vm-domjudge`):
1. Test everything. (duh...)
1. Commit the correct version number in the `ChangeLog` and `README` files,
set `DEBUG=0` in `etc/common-config.php` (if releasing from the `master`
branch).
1. Create a release version `$TAG` in Git with `$TAG` the version number
x.y.z:
git tag [-a|-s|-u <GPG-key-ID>] -m "Tag release version $TAG." $TAG
See `git tag --help` for more details on how to tag with(out) a
GPG signature.
1. Create the release tarball by running
make_release.sh $TAG [<git-repo-url>]
The `<git-repo-url>` defaults to `https://github.com/DOMjudge/domjudge.git`
but can be pointed to your local repository, before committing to the
central repository.
The tarball is placed in the current dir; check that it looks correct,
test e.g. by unpacking it and running
./configure && make build
1. Update files above to `{version+1}DEV`, `DEBUG=1`, and commit.
1. Generate sha256sum and GPG signature:
sha256sum domjudge-$TAG.tar.gz > domjudge-$TAG.tar.gz.sha256sum
gpg -a --detach-sign --digest-algo SHA256 domjudge-$TAG.tar.gz
Copy these files to `/srv/http/domjudge/releases/`
1. Update the DOMjudge homepage: commit changes in the `domjudge-scripts`
repository under `website/` and run `make install` as domjudge@domjudge
1. Update the release documentation under `/srv/http/domjudge/docs/`
by running `make install-docs` from `~/domjudge-scripts/website/`.
(if releasing the latest stable branch; note that the release tarball
must already be present under `/srv/http/domjudge/releases/`).
1. If necessary, add a source package of included dash static shell in
`/srv/http/domjudge/sources/`.
1. Send an email to [email protected].
1. Don't forget to push everything to the central Git repository
(especially the release tags, since these are not pushed by default),
e.g. with
git push origin ${TAG%.?} refs/tags/$TAG