19 Commits

Author SHA1 Message Date
Jordan Petridis
d4b7066060 ci: Run the jobs as an unprivileged non-root user
Docker/oci and thus gitlab-runner, default to a root
user inside the namespace, even if its an unprivileged
one.

This can cause issues and let permission bugs sneak in,
as we are functionally root when running the build.

Switch the build jobs to run with our new "containeruser"
so we avoid much of it.

Our user is still in the wheel/sudo group but that's fine
as long we don't elevate the privileges unintentionally.

Noticeably for the time being, we will need to chown the
CI_PROJECT_DIR checkout as the gitlab runner might try
to reuse pre-existing and cached volumes of the project
checkout.

Additionally we need to change the ccache path, so we
will avoid the existing cache owned by "root".

Close https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8763>
2025-07-02 12:18:01 +00:00
Sebastian Dröge
da2da7711d ci: Update to Rust 1.88 and cargo-c 0.10.14
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9310>
2025-06-30 22:56:04 +00:00
Sebastian Dröge
056c6967b2 ci: Update to Rust 1.87 / cargo-c 0.10.13
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9038>
2025-05-30 09:48:34 +03:00
Jordan Petridis
2aa7dcd715 install-rust.sh: Remove rust-docs from the install
We don't make use use of the html documentation in
the ci image, so it only takes space.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
2025-04-12 10:11:29 +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
Sebastian Dröge
883ff6caaa ci: Update to Rust 1.86 and cargo-c 0.10.12
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8783>
2025-04-05 19:56:17 +03:00
Sebastian Dröge
3db85ca77a ci: Update to cargo-c 0.10.11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8532>
2025-02-23 16:55:53 +00:00
Sebastian Dröge
f2bcd56571 ci: Update to Rust 1.85
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8532>
2025-02-23 16:55:53 +00:00
Sebastian Dröge
c513340c89 ci: Update to Rust 1.84 and cargo-c 0.10.8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8285>
2025-01-11 17:38:00 +02:00
Sebastian Dröge
2b1e4d4038 ci: Update to cargo-c 0.10.7
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8002>
2024-11-30 12:38:28 +00:00
Sebastian Dröge
a91b48f5d5 ci: Update to Rust 1.83
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8002>
2024-11-30 12:38:28 +00:00
Jordan Petridis
9c5523d529 ci: Make it easier to run the build scripts locally
* Move the exported PATH variables into a script so
we can source it in all the wrapper scripts.

* Add a guard to only copy over the cache when the
SUBPROJECTS_CACHE_DIR variable is set, which only
happens on CI by default

* Make it possible to run the scripts with default
values for some of the variables, like WERROR and MESON_ARGS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
2024-10-28 13:47:18 +00:00
Jordan Petridis
2cd382af73 ci: Cleanup the cargo registry in the images
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Sebastian Dröge
22e5e57d44 ci: Update to cargo-c 0.10.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7683>
2024-10-19 00:06:50 +00:00
Sebastian Dröge
d56fa94146 ci: Update to Rust 1.82
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7678>
2024-10-17 22:39:45 +00:00
Sebastian Dröge
2d989058a7 ci: Update to cargo-c 0.10.4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458>
2024-09-05 20:05:38 +00:00
Sebastian Dröge
0f5e894931 ci: Update to Rust 1.81
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458>
2024-09-05 20:05:38 +00:00
Tim-Philipp Müller
2263caff45 ci: update Rust to 1.80.1 and cargo-c to 10.3
And use cargo install --locked

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7326>
2024-08-14 04:34:28 +00:00
Jordan Petridis
472d1b52d3 ci: Add a simple build job based on debian
The gstreamer-rs repos use debian based images already,
which we can later base on this one. Additionally it's
good to have another distro target so we avoid weird
fedoraisms when possible.

It will also be simpler to keep it up to date, as we
don't need to run the test suite against this build as
well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6656>
2024-04-24 15:01:27 +00:00