From ebfb6b5bcabdd062f4721695b1297c8304e07b7b Mon Sep 17 00:00:00 2001 From: Michael Schlottke-Lakemper Date: Fri, 26 Jan 2024 21:42:07 +0100 Subject: [PATCH 1/2] Add developer info for creating a new JLL release --- development.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/development.md b/development.md index 1368e25..82d2c92 100644 --- a/development.md +++ b/development.md @@ -35,3 +35,37 @@ To create a new release for smesh, perform the following steps: `-dev` suffix added. For example, if you just released `v0.3.0`, the new development version should be `v0.3.1-dev`. If you just released `v0.2.4`, the new development version should be `v0.2.5-dev`. + +Among other uses, smesh is the backend for the Julia package +[Smesh.jl](https://github.com/trixi-framework/Smesh.jl). For this purpose, it is +automatically built and distributed as a Julia JLL package. Therefore, after each release of +mesh, you should also update the corresponding build recipe in the +[Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil) repository: +1) If not yet done, create a fork of the + [Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil/) repository, which contains all + build recipes for registered JLL packages. +2) Create a new branch in your Yggdrasil fork and modify the + [`build_tarballs.jl`](https://github.com/JuliaPackaging/Yggdrasil/blob/master/S/smesh/build_tarballs.jl) + file for smesh: + * Change the existing version number in `build_tarballs.jl` to the version you just released (e.g., + [here](https://github.com/JuliaPackaging/Yggdrasil/blob/414237372f5bac40fc3cd8045727def18388a1d7/S/smesh/build_tarballs.jl#L6) + the existing smesh version is `v0.1.0`) + * Get the commit hash of the current smesh release, e.g., by going to the + [latest release](https://github.com/trixi-framework/smesh/releases/latest) and then + clicking on the short commit hash, then copying it from the browser URL. + * Change the existing commit hash in `build_tarballs.jl` to the commit hash you just + obtained (e.g., + [here](https://github.com/JuliaPackaging/Yggdrasil/blob/414237372f5bac40fc3cd8045727def18388a1d7/S/smesh/build_tarballs.jl#L11) + the hash was `db69bf884d10c52577aee6795202136cfcf77178`) +3) Commit and push the changes to your fork. +4) Create a pull request from your fork's branch to Yggdrasil's `master` branch and name it + appropriately (e.g., `[smesh] update to version v0.2.4`) +5) Wait for all tests in Yggdrasil to pass. If they don't, find the error and fix it. +6) Wait for the Yggdrasil PR to be merged to `master`.. After an appropriate waiting period + (1-2 business days), you can ask nicely in the `#binarybuilder` on the Julia Slack if + someone could merge your PR. +7) Once the Yggdrasil CI has built the new artifacts from its updated `master` branch, it + will upload them to the + [smesh\_jll.jl package repository](https://github.com/JuliaBinaryWrappers/smesh_jll.jl) + and create a PR to Julia's general registry with the new version. Once all checks pass + there and a grace period of 15 minutes has passed, the new release will be available. From e48b0f8301f32b1c21e161047e779fa8e669e2d5 Mon Sep 17 00:00:00 2001 From: Michael Schlottke-Lakemper Date: Sat, 27 Jan 2024 13:19:32 +0100 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Joshua Lampert <51029046+JoshuaLampert@users.noreply.github.com> --- development.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/development.md b/development.md index 82d2c92..192d39f 100644 --- a/development.md +++ b/development.md @@ -39,7 +39,7 @@ To create a new release for smesh, perform the following steps: Among other uses, smesh is the backend for the Julia package [Smesh.jl](https://github.com/trixi-framework/Smesh.jl). For this purpose, it is automatically built and distributed as a Julia JLL package. Therefore, after each release of -mesh, you should also update the corresponding build recipe in the +smesh, you should also update the corresponding build recipe in the [Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil) repository: 1) If not yet done, create a fork of the [Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil/) repository, which contains all @@ -61,7 +61,7 @@ mesh, you should also update the corresponding build recipe in the 4) Create a pull request from your fork's branch to Yggdrasil's `master` branch and name it appropriately (e.g., `[smesh] update to version v0.2.4`) 5) Wait for all tests in Yggdrasil to pass. If they don't, find the error and fix it. -6) Wait for the Yggdrasil PR to be merged to `master`.. After an appropriate waiting period +6) Wait for the Yggdrasil PR to be merged to `master`. After an appropriate waiting period (1-2 business days), you can ask nicely in the `#binarybuilder` on the Julia Slack if someone could merge your PR. 7) Once the Yggdrasil CI has built the new artifacts from its updated `master` branch, it