xref: /libCEED/RELEASING.md (revision 446df8bc5b10f4a58b2bf1f08a8ef16fe692c895)
1ead10094SWill Pazner# Release Procedures
2ead10094SWill Pazner
3ead10094SWill Pazner## Julia
4ead10094SWill Pazner
5ead10094SWill PaznerlibCEED's Julia interface (LibCEED.jl) has two components:
6ead10094SWill Pazner
7ead10094SWill Pazner* LibCEED.jl, the user-facing package that contains the Julia interface.
8ead10094SWill Pazner* libCEED_jll, a binary wrapper package ("jll package") that contains prebuilt binaries of the
9ead10094SWill Pazner  libCEED library for various architectures.
10ead10094SWill Pazner
11ead10094SWill PaznerWhen there is a new release of libCEED, both of these components need to be updated. First,
12ead10094SWill PaznerlibCEED_jll is updated, and then LibCEED.jl.
13ead10094SWill Pazner
14ead10094SWill Pazner### Updating libCEED_jll
15ead10094SWill Pazner
16ead10094SWill PaznerThe binary wrapper package libCEED_jll is updated by making a pull request against
17ead10094SWill Pazner[Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil), the Julia community build tree. In this
18ead10094SWill PaznerPR, the file `L/libCEED/build_tarballs.jl` should be changed to update version number and change the
19ead10094SWill Paznerhash of the libCEED commit to use to build the binaries, similar to the following diff:
20ead10094SWill Pazner```diff
21ead10094SWill Paznerdiff --git a/L/libCEED/build_tarballs.jl b/L/libCEED/build_tarballs.jl
22ead10094SWill Pazner--- a/L/libCEED/build_tarballs.jl
23ead10094SWill Pazner+++ b/L/libCEED/build_tarballs.jl
24ead10094SWill Pazner@@ -3,11 +3,11 @@
25ead10094SWill Pazner using BinaryBuilder, Pkg
26ead10094SWill Pazner
27ead10094SWill Pazner name = "libCEED"
28ead10094SWill Pazner-version = v"0.7.0"
29ead10094SWill Pazner+version = v"0.8.0"
30ead10094SWill Pazner
31ead10094SWill Pazner # Collection of sources required to complete build
32ead10094SWill Pazner sources = [
33ead10094SWill Pazner-    GitSource("https://github.com/CEED/libCEED.git", "06988bf74cc6ac18eacafe7930f080803395ba29")
34ead10094SWill Pazner+    GitSource("https://github.com/CEED/libCEED.git", "e8f234590eddcce2220edb1d6e979af7a3c35f82")
35ead10094SWill Pazner ]
36ead10094SWill Pazner```
37ead10094SWill PaznerAfter the PR is merged into Yggdrasil, the new version of libCEED_jll will automatically be
38ead10094SWill Paznerregistered, and then we can proceed to update LibCEED.jl.
39ead10094SWill Pazner
40ead10094SWill Pazner### Updating LibCEED.jl
41ead10094SWill Pazner
42ead10094SWill PaznerAfter the binary wrapper package libCEED_jll has been updated, we are ready to update the main Julia
43ead10094SWill Paznerinterface LibCEED.jl. This requires updating the file `julia/LibCEED.jl/Project.toml` in the libCEED
44ead10094SWill Paznerrepository. The version number should be incremented, and the dependency on the updated version of
45ead10094SWill PaznerlibCEED_jll should be listed:
46ead10094SWill Pazner```diff
47ead10094SWill Paznerdiff --git a/julia/LibCEED.jl/Project.toml b/julia/LibCEED.jl/Project.toml
48ead10094SWill Pazner--- a/julia/LibCEED.jl/Project.toml
49ead10094SWill Pazner+++ b/julia/LibCEED.jl/Project.toml
50ead10094SWill Pazner@@ -1,7 +1,7 @@
51ead10094SWill Pazner name = "LibCEED"
52ead10094SWill Pazner uuid = "2cd74e05-b976-4426-91fa-5f1011f8952b"
53ead10094SWill Pazner-version = "0.1.0"
54ead10094SWill Pazner+version = "0.1.1"
55ead10094SWill Pazner
56ead10094SWill Pazner [deps]
57ead10094SWill Pazner CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"
58ead10094SWill Pazner@@ -26,4 +26,4 @@ Cassette = "0.3"
59ead10094SWill Pazner Requires = "1"
60ead10094SWill Pazner StaticArrays = "0.12"
61ead10094SWill Pazner UnsafeArrays = "1"
62ead10094SWill Pazner-libCEED_jll = "0.7"
63ead10094SWill Pazner+libCEED_jll = "0.8"
64ead10094SWill Pazner```
65ead10094SWill PaznerOnce this change is merged into libCEED's `main` branch, the updated package version can be
66ead10094SWill Paznerregistered using the GitHub registrator bot by commenting on the commit:
67ead10094SWill Pazner
68*446df8bcSWill Pazner> @JuliaRegistrator register branch=main subdir=julia/LibCEED.jl
69ead10094SWill Pazner
70ead10094SWill PaznerAt this point, the bot should create against the [general Julia
71ead10094SWill Paznerregistry](https://github.com/JuliaRegistries/General), which should be merged automatically after a
72ead10094SWill Paznershort delay.
73