Skip to content

Conversation

@gilles-peskine-arm
Copy link
Contributor

@gilles-peskine-arm gilles-peskine-arm commented Oct 29, 2025

Addresses most of Mbed-TLS/mbedtls#3255 . What is left is to arrange for the Groovy code to pick up the release artifacts created by the new all.sh component as Jenkins artifacts.

Addresses most of Mbed-TLS/mbedtls-framework#231 by creating bump_version.sh in crypto. We might want to put this functionality into prepare_release.py, but I'm not fully convinced: there are significant differences between branches with respect to what version bumping does, so I think the code to do that belongs in each branch.

Fixes Mbed-TLS/mbedtls#9521 by testing that builds done in different directories result in identical tarballs.

Needs preceding PR:

PR checklist

gilles-peskine-arm and others added 9 commits October 29, 2025 19:15
Restore the file deleted at 0679e3a

Signed-off-by: Gilles Peskine <[email protected]>
Partial cherry-pick of 879cba1 from
Mbed TLS: only the changes in `scripts/bump_version.sh`. This is needed to
adapt to the changes in how versions are declared in `**/CMakeLists.txt`.

Signed-off-by: Ronald Cron <[email protected]>
Signed-off-by: Gilles Peskine <[email protected]>
* There is no X.509 or TLS library.
* Doxygen files are generated from a CMake template and no longer hard-code
  the product version.
* None of the generated files exist here, and they wouldn't need updating
  anyway since they don't get committed.

Signed-off-by: Gilles Peskine <[email protected]>
Simulate the release of the next minor version, happening today.

Work in separate Git directories, to avoid contaminating the source tree
where `all.sh` is being run. The release process can make commits, which
should definitely not go onto a developer's branch when they run `all.sh`
locally.

Signed-off-by: Gilles Peskine <[email protected]>
Test that the library from the tar can be built in a minimal
environment (CMake, make, C compiler and a few basic shell commands). In
particular, this environment does not include Python. (This assumes that
CMake won't try to look for Python outside of `$PATH`, which does seem to be
the case in practice.)

Signed-off-by: Gilles Peskine <[email protected]>
@gilles-peskine-arm gilles-peskine-arm added size-s Estimated task size: small (~2d) priority-medium Medium priority - this can be reviewed as time permits needs-work labels Oct 29, 2025
@gilles-peskine-arm gilles-peskine-arm added priority-high High priority - will be reviewed soon and removed priority-medium Medium priority - this can be reviewed as time permits labels Oct 29, 2025
#### Release preparation
################################################################

next_product_version () {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if the auxiliary functions here should move to framework/scripts/all-helpers.sh. They're pretty specific to release preparation.

EOF
}

git_clone_recursively () {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to tidy up the handling of submodules (both cloning, and the dirty worktree check) before copying this to mbedtls. For crypto with just one submodule, it's ok. But for the multiple submodules of Mbed TLS, I'd like a loop. And if I write that loop I might as well use it here too.

Git command help is provided through man pages, which are not installed in
our Docker images, `git archive --help | grep ...` was always failing.

Use the Git version number instead.

Signed-off-by: Gilles Peskine <[email protected]>
@gilles-peskine-arm gilles-peskine-arm added the needs-preceding-pr Requires another PR to be merged first label Nov 5, 2025
fixup "Test the reproducibility of the release tar"

Signed-off-by: Gilles Peskine <[email protected]>
Also list the sha and the files at the end of the build rather than midway
through, for better visibility.

Signed-off-by: Gilles Peskine <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-preceding-pr Requires another PR to be merged first needs-work priority-high High priority - will be reviewed soon size-s Estimated task size: small (~2d)

Projects

Development

Successfully merging this pull request may close these issues.

Generated files should not vary based on build path

2 participants