Skip to content

Commit a1bf1c7

Browse files
committed
Update releasing documentation with version name
1 parent 9c6a246 commit a1bf1c7

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

docs/developer-guide/releasing.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,41 @@
22

33
## opam
44

5-
1. Update list of authors and contributors in `.zenodo.json`, `CITATION.cff` and `dune-project`.
6-
2. Update `CHANGELOG.md`:
5+
1. Choose version name (collaboratively).
6+
2. Update list of authors and contributors in `.zenodo.json`, `CITATION.cff` and `dune-project`.
7+
3. Update `CHANGELOG.md`:
78

8-
1. Add a desired version number (`vX.Y.Z`) header at the top.
9+
1. Add a desired version number (`vX.Y.Z`) and name header at the top.
910
2. Add a list of biggest changes compared to the previous version.
1011

11-
3. Install dune-release: `opam install dune-release`.
1212
4. Remove all opam pins because _opam-repository doesn't allow them_.
1313

1414
* If the pinned changes have been released and published in opam, remove the pin (and add a version lower bound).
1515
* If the pinned changes are not strictly necessary for building (but just optimization or stability), then temporarily remove the pin.
1616

17-
5. Regenerate `goblint.opam`: `dune build`.
18-
6. Regenerate `goblint.opam.locked`: `opam pin add goblint.dev . --no-action` and `opam lock .`.
17+
5. Check opam file for previous release on opam-repository for changes.
18+
6. Regenerate `goblint.opam`: `dune build`.
19+
7. Regenerate `goblint.opam.locked`: `opam pin add goblint.dev . --no-action` and `opam lock .`.
1920

2021
Pinning the package is necessary for locking, otherwise lockfile will be generated for previously published version.
2122
Manually remove not installed `depopts` from `conflicts`.
2223

23-
7. Check with `dune-release check`.
24+
8. Install dune-release: `opam install dune-release`.
25+
26+
9. Check with `dune-release check`.
2427

2528
All changes must be committed because the working tree is not checked.
2629

2730
The warning `[FAIL] opam field doc cannot be parsed by dune-release` is fine and can be ignored (see <https://github.com/ocamllabs/dune-release/issues/154>).
2831

29-
8. Check that "unlocked" workflow passes on GitHub Actions.
32+
10. Check that "unlocked" workflow passes on GitHub Actions.
3033

3134
It can be run manually on the release branch for checking.
3235

33-
9. Tag the release: `dune-release tag`.
34-
10. Create the distribution archive: `dune-release distrib`.
36+
11. Tag the release: `dune-release tag`.
37+
12. Create the distribution archive: `dune-release distrib`.
3538

36-
11. Check created _distribution archive_ (in `_build`) in a clean environment:
39+
13. Check created _distribution archive_ (in `_build`) in a clean environment:
3740

3841
1. Pull Docker image: `docker pull ocaml/opam:ubuntu-22.04-ocaml-4.14` (or newer).
3942
2. Extract distribution archive.
@@ -46,21 +49,22 @@
4649
9. Check that analysis works: `goblint -v tests/regression/04-mutex/01-simple_rc.c`.
4750
10. Exit Docker container.
4851

49-
12. Temporarily enable Zenodo GitHub webhook.
52+
14. Temporarily enable Zenodo GitHub webhook.
5053

5154
This is because we only want numbered version releases to automatically add a new version to our Zenodo artifact.
5255
Other tags (like SV-COMP or paper artifacts) have manually created Zenodo artifacts anyway and thus shouldn't add new versions to the main Zenodo artifact.
5356

54-
13. Create a GitHub release with the git tag: `DUNE_RELEASE_DELEGATE=github-dune-release-delegate dune-release publish distrib`.
57+
15. Create a GitHub release with the git tag: `DUNE_RELEASE_DELEGATE=github-dune-release-delegate dune-release publish distrib`.
5558

5659
Explicitly specify `distrib` because we don't want to publish OCaml API docs.
5760
Environment variable workaround for the package having a Read the Docs `doc` URL (see <https://github.com/ocamllabs/dune-release/issues/154>).
5861

59-
14. Re-disable Zenodo GitHub webhook.
62+
16. Re-disable Zenodo GitHub webhook.
6063

61-
15. Create an opam package: `dune-release opam pkg`.
62-
16. Submit the opam package to opam-repository: `dune-release opam submit`.
63-
17. Revert temporary removal of opam pins.
64+
17. Edit GitHub release to add version name.
65+
18. Create an opam package: `dune-release opam pkg`.
66+
19. Submit the opam package to opam-repository: `dune-release opam submit`.
67+
20. Revert temporary removal of opam pins.
6468

6569

6670
## SV-COMP

0 commit comments

Comments
 (0)