Skip to content

Dockerfile updates: official versions of CMake and Python, tooling for prepare_release.py#238

Merged
gilles-peskine-arm merged 13 commits into
mainfrom
dev/gilles-peskine-arm/git-in-docker
Dec 16, 2025
Merged

Dockerfile updates: official versions of CMake and Python, tooling for prepare_release.py#238
gilles-peskine-arm merged 13 commits into
mainfrom
dev/gilles-peskine-arm/git-in-docker

Conversation

@gilles-peskine-arm

@gilles-peskine-arm gilles-peskine-arm commented Dec 10, 2025

Copy link
Copy Markdown
Contributor

CI runs at 7c19220:

There are `.cache` and `.config` directories created by pip and owned
by root. This is probably not the right way to do things (the pip runs
should probably have a `$HOME` setting that's consistent with the user
they're running as, namely root), but not wrong either (there is no
confidential data here anyway, or files that root would read).

Don't touch arm-compilers, which has diverged and where it's less
likely to matter given that that image is single-purpose.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Make it possible to do git commit as part of the CI, for example to
make a mock release.

Don't touch arm-compilers, which has diverged and where it's less
likely to matter given that that image is single-purpose.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
It has been years since `all.sh` supports `--list-components` and
`--list-all-components`. If that isn't the case, let the build die with
a backtrace instead of a semi-nice error message.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
If the job produces a release candidate tarball, make it available.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Use the actively maintained Universal Ctags in Ubuntu versions where
it's available, otherwise its dead parent Exuberant Ctags.

Ctags was already in the images other than `arm-compilers` as a
Recommends depenency of `abi-compliance-checker`, but since we're now
using it directly, require it explicitly.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
We don't currently use it, but we're thinking of using it as a CMake backend.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Less potential for something to go wrong when building extra stuff.
Also, it's better for rebuild times to put the steps that don't change
often early on.

No code changes, only reordering.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Install Python before other "higher-level" tools.

No code changes, only reordering.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Mbed TLS 3.6 LTS officially requires Python >=3.8, although we're
still testing with (and therefore supporting) Python 3.6. At some
point we'll switch our testing to 3.8. In preparation, make sure that
Python >=3.8 is available on all Docker images.

On Ubuntu 16.04, the most recent system Python is 3.5, and we install
more recent version (3.6 and now also 3.8) with pyenv.

On Ubuntu 18.04, `/usr/bin/python3` is 3.6 but 3.8 is available as a
package, so install it.

On Ubuntu 20.04, `/usr/bin/python3` is 3.8.

Note that this commit merely makes Python 3.8 available. It does not
change which Python version gets used in CI runs.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
In all Docker images, make sure we have the minimum version of CMake
required by Mbed TLS 3.6 (CMake 3.10.2) and by TF-PSA-Crypto 1.0 and
Mbed TLS 4.0 (CMake 3.20.2).

In Ubuntu 18.04, the system cmake is 3.10.2. But still install one
manually for uniformity.

Note that this commit merely makes more CMake versions available. It
does not change which CMake version gets used in CI runs.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>

@bensze01 bensze01 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@minosgalanakis minosgalanakis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@github-project-automation github-project-automation Bot moved this from In Development to Has Approval in Roadmap pull requests (new board) Dec 16, 2025
@gilles-peskine-arm gilles-peskine-arm merged commit fc26789 into main Dec 16, 2025
1 check passed
@github-project-automation github-project-automation Bot moved this from Has Approval to Done in Roadmap pull requests (new board) Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs: review priority-high size-s Estimated task size: small (~2d)

Development

Successfully merging this pull request may close these issues.

Add ctags to Docker images Support for testing the release preparation script

4 participants