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.jl” 69*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