9 Commits

Author SHA1 Message Date
Jordan Petridis
5ce342f8fd ci: Move containeruser creation into the main image
Doesn't need to be done only for toolbox and we will
need this when we switch the user gitlab-ci runs as.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
2025-04-12 10:11:28 +00:00
Jordan Petridis
b9c3e7c162 build-toolbox-image.sh: Install rust-analyzer into the image
If you develop against the image, then you can configure
your IDE to spawn rust-analyzer inside the container as well.

This works with devcontainer and vscode.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
2025-04-12 10:11:28 +00:00
Jordan Petridis
17cf7226f4 build-toolbox-image.sh: Hardcode the RUSTUP/CARGO_HOME env vars
We install the rust toolchain, but then we have to manually
source it in CI since the headless containers skip over
the shell profiles that rustup typically uses.

Ideally we'd set these as variables in the main image, but
we don't have access to the buildah instance used in
ci-templates/cbuild.

However adding them to the toolbox image is good enough to
have the toolbox setup work ootb even if it doesn't call the
ci/scripts/source_image_env.sh script like the gitlab-ci jobs
will do.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
2025-04-12 10:11:28 +00:00
Jordan Petridis
2ce8a1aea9 build-toolbox-image.sh: Only publish the latest tag on the appropriate branch
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
2025-04-12 10:11:28 +00:00
Jordan Petridis
22a83c8db6 build-toolbox-image.sh: Change the suggested name for the toolbox
Previously the script will give you a command like:

```
toolbox create gst-toolbox ..
```

Which is a bit redundant since we are already creating
toolbox, we don't need to label it as such.

Now instead use gst-$GST_UPSTREAM_BRANCH for the name,
so we will suggest gst-main and gst-1.24 instead

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
2025-04-12 10:11:28 +00:00
Jordan Petridis
94737cc108 ci: Install all the glbic langpacks in the fedora image
Also remove the coreutils swap from the toolbox since
it's already done in the base image

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
2024-11-02 11:46:25 +00:00
Jordan Petridis
5ad8258a7d ci/build-toolbox-image.sh: Always print how to use fetch the image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7769>
2024-10-31 05:22:26 +00:00
Jordan Petridis
19d5a58450 ci: Add a default non-root user in the toolbox image
Toolbox itself will try to make a new user and map the host
uid:gid to it, however it good to also have a default user
set in the image itself in case it needs to be used with
other tooling or debugging.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7769>
2024-10-31 05:22:26 +00:00
Jordan Petridis
a31c8cf370 ci: Push a dedicated toolbox image
This is mostly done to remove the hardcoded HOME
env var that ci-templates appends to the image. See [1]

[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433#note_2243222

But it also allows us to add extra things useful for local
development to it, as long they don't interfere with the
build enviornment.

This also means we can switch the build image to be based
on top of the normal fedora one rather than toolbox,
so it will no longer advertise the toolbox compatible labels
since it was buggy anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00