Skip to content

Commit c388397

Browse files
sloedeJoshuaLampertsimonechiocchetti
authored
Add developer info for creating a new JLL release (#17)
* Add developer info for creating a new JLL release * Apply suggestions from code review Co-authored-by: Joshua Lampert <[email protected]> Co-authored-by: Joshua Lampert <[email protected]> Co-authored-by: simonechiocchetti <[email protected]>
1 parent 71586d9 commit c388397

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

development.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,37 @@ To create a new release for smesh, perform the following steps:
3535
`-dev` suffix added. For example, if you just released `v0.3.0`, the new development
3636
version should be `v0.3.1-dev`. If you just released `v0.2.4`, the new development
3737
version should be `v0.2.5-dev`.
38+
39+
Among other uses, smesh is the backend for the Julia package
40+
[Smesh.jl](https://github.com/trixi-framework/Smesh.jl). For this purpose, it is
41+
automatically built and distributed as a Julia JLL package. Therefore, after each release of
42+
smesh, you should also update the corresponding build recipe in the
43+
[Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil) repository:
44+
1) If not yet done, create a fork of the
45+
[Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil/) repository, which contains all
46+
build recipes for registered JLL packages.
47+
2) Create a new branch in your Yggdrasil fork and modify the
48+
[`build_tarballs.jl`](https://github.com/JuliaPackaging/Yggdrasil/blob/master/S/smesh/build_tarballs.jl)
49+
file for smesh:
50+
* Change the existing version number in `build_tarballs.jl` to the version you just released (e.g.,
51+
[here](https://github.com/JuliaPackaging/Yggdrasil/blob/414237372f5bac40fc3cd8045727def18388a1d7/S/smesh/build_tarballs.jl#L6)
52+
the existing smesh version is `v0.1.0`)
53+
* Get the commit hash of the current smesh release, e.g., by going to the
54+
[latest release](https://github.com/trixi-framework/smesh/releases/latest) and then
55+
clicking on the short commit hash, then copying it from the browser URL.
56+
* Change the existing commit hash in `build_tarballs.jl` to the commit hash you just
57+
obtained (e.g.,
58+
[here](https://github.com/JuliaPackaging/Yggdrasil/blob/414237372f5bac40fc3cd8045727def18388a1d7/S/smesh/build_tarballs.jl#L11)
59+
the hash was `db69bf884d10c52577aee6795202136cfcf77178`)
60+
3) Commit and push the changes to your fork.
61+
4) Create a pull request from your fork's branch to Yggdrasil's `master` branch and name it
62+
appropriately (e.g., `[smesh] update to version v0.2.4`)
63+
5) Wait for all tests in Yggdrasil to pass. If they don't, find the error and fix it.
64+
6) Wait for the Yggdrasil PR to be merged to `master`. After an appropriate waiting period
65+
(1-2 business days), you can ask nicely in the `#binarybuilder` on the Julia Slack if
66+
someone could merge your PR.
67+
7) Once the Yggdrasil CI has built the new artifacts from its updated `master` branch, it
68+
will upload them to the
69+
[smesh\_jll.jl package repository](https://github.com/JuliaBinaryWrappers/smesh_jll.jl)
70+
and create a PR to Julia's general registry with the new version. Once all checks pass
71+
there and a grace period of 15 minutes has passed, the new release will be available.

0 commit comments

Comments
 (0)