Jordan Petridis db17f54253 build: Add devcontainer manifest for our CI image
Devcontainer [1] is a popular container schema that makes
IDEs and tooling aware about the container image you want
to use and develop against.

The most popular implementation of devcontainer are Visual
Studio and VSCode and this allows us to have a out of the
box pre-defined and working build environment that is very
close to the environment CI runs against.

This also allows VSCode on Windows and Mac to setup a
Linux docker container (vm) to develop against if so
desired.

[1] https://containers.dev/

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
2025-04-12 10:11:29 +00:00
..

GStreamer Continuous Integration
================================

This repository contains all material relevant to the GStreamer
Continuous Integration system.

* Docker images

* Build scripts and code

Basic instructions for reproducing CI issues locally
====================================================

Note the URL of the image in the job logs, for instance:

```
Using docker image sha256:ac097589af0f486321adf7e512f2237c55533b9b08dabb49164a521a374d406d for registry.freedesktop.org/ocrete/gstreamer/amd64/fedora:2022-12-10.0-main with digest registry.freedesktop.org/ocrete/gstreamer/amd64/fedora@sha256:a2f7be944964a115ada2b3675c190bc9a094a5b35eba64a1ac38d52d55d13663
```

Pull the image:

```
docker pull registry.freedesktop.org/ocrete/gstreamer/amd64/fedora:2022-12-10.0-main
```

Run it:

```
docker run -it fedora:2022-12-10.0-main
```

At this point, you want to clone the relevant branch, eg if the issue occurs with main:

```
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git
cd gstreamer
```

Adapt the above to your situation.

Now, export the relevant variables by observing the job logs and `.gitlab-ci.yml` at
he root of the GStreamer repository, then run the steps listed in the script section.