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