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