Commit graph

105 commits

Author SHA1 Message Date
Nicolas Dufresne
0550b845b4 ci: Install cargo-c
This is to fix gst-plugin-rs configuration error about the missing
installation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5125>
2023-08-01 02:30:14 +00:00
Sebastian Dröge
3027088143 ci: Don't include cargo-c in the Fedora CI images
It's not actually used and just adds to the build time unnecessarily.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5064>
2023-07-19 09:14:48 +03:00
Sebastian Dröge
b7ffe4718a ci: Update to Rust 1.71 and cargo-c 0.9.21
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5033>
2023-07-17 10:41:47 +00:00
Nirbheek Chauhan
f61d56e9fa ci: Add openssh to MSYS2 in the windows image
scp is needed to upload the cerbero deps artifact.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Nirbheek Chauhan
585d719bd1 ci: Pick up the right branches when building a windows image
Now we will pick up the right gstreamer branch + namespace when
building an image, and also the right (matching, if any) cerbero
branch + namespace.

This solves the bootstrapping issue when doing an image update that
requires coordination between gstreamer and cerbero.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Nirbheek Chauhan
51cc04eafe ci: Make deletion of cargo vendored sources less verbose
This is very fast under MSYS2 now, so we do not need it to be done
verbosely. There's a LOT of files in there.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Nirbheek Chauhan
6d11e571d8 ci: Fix Python Windows Cert Store issue properly
Just import Mozilla's CA certs from certifi so that all root certs are
available. This fixes meson being unable to download any subproject
sources for caching.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Nirbheek Chauhan
ab85826498 ci: Eliminate MSYS from the windows docker image
We require MSYS2 now

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Nirbheek Chauhan
038a8c5308 ci: Speed up windows image builds a bit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Olivier Crête
48c43e5b7f gst-omx: Retire the whole package
The OpenMAX standard is long dead and even the Raspberry Pi OS
no longer supports it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976>
2023-07-16 19:10:03 +00:00
Nirbheek Chauhan
df57fffed7 ci: Reduce the size of the windows image a bit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939>
2023-07-07 09:46:19 +05:30
Nirbheek Chauhan
1ddec0d361 ci: Installing wixtoolset can take a long time, bump the timeout
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939>
2023-07-07 09:46:19 +05:30
Nirbheek Chauhan
0b26ca0c6e ci: Update to VS 2022 Build Tools
We need the Windows 11 SDK for Windows Graphics Capture API support,
which will be enabled at runtime based on feature availability on
Windows, so should work correctly on Windows 8, 8.1, 10, and 11.

However, if we enable it in the VS 2019 installer, it will install
both Windows 10 SDK (required) and Windows 11 SDK (optional), which
will bloat the image by 3GB or more.

So just move to VS 2022 for the Windows images, which requires only
the Windows 11 SDK.

Had to remove the UWP build tools because they were causing the
installation to fail, likely due to an installer bug. We don't need
UWP anymore anyway. We just need the ARM64 build tools for the
cross-arm64 monorepo build.

Also stop installing into C:\BuildTools and let Meson pick the install
up with --vsenv.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939>
2023-07-07 09:46:19 +05:30
Tim-Philipp Müller
f88cf8b8b0 ci: patch GNU indent on indent image to fix crash on long comments
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036851
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4857>
2023-06-15 00:10:14 +00:00
Andoni Morales Alastruey
2769986ca9 ci: update meson to 1.1.1 in the CI image
co-authored-by: Jordan Petridis <jordan@centricular.com>

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3846>
2023-06-12 13:57:05 +00:00
Sebastian Dröge
a7dd69f371 ci: Update to Rust 1.70
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4758>
2023-06-06 07:35:22 +00:00
Mathieu Duponchelle
d08d9bacb2 ci: bump hotdoc dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4488>
2023-04-26 13:50:40 +02:00
Jordan Petridis
8e9db20a3b windows/Dockerfile: Pin python to 3.11.2
Version 3.11.3+ and 3.12 change the way subprocess with shell=True
works to no longer use the PATH but instead rely on %ComSpec% or
%SystemRoot% which are currently not present in the cerbero env.

51b079a2d6

Pin to 3.11.2 until we fix cerbero.

https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/427

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4468>
2023-04-26 01:38:19 +00:00
Sebastian Dröge
dd78aa053b ci: Update to Rust 1.69
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4468>
2023-04-26 01:38:19 +00:00
Mathieu Duponchelle
5ac9cf2b60 ci: bump hotdoc dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408>
2023-04-13 21:46:59 +00:00
Sebastian Dröge
15aa0478b9 ci: fedora: Update cargo-c to 0.9.17
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4331>
2023-04-05 12:39:23 +00:00
Jordan Petridis
4e8d0b766c ci: Add rust in the windows base image
This is preperation for gstreamer/gstreamer!3889

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4327>
2023-04-03 18:48:55 +00:00
Jordan Petridis
0e20febad1 ci: Update Rust in the fedora image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4327>
2023-04-03 18:48:55 +00:00
Tim-Philipp Müller
f75d4f5f9f ci: update indent image to GNU indent 2.2.12
... and dotnet-sdk to 7.0.

Fixes #340

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182>
2023-03-17 03:18:54 +00:00
Stéphane Cerveau
bf903a05f4 ci: add wixtoolset to windows image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4157>
2023-03-14 09:37:21 +00:00
Jordan Petridis
797e94eb6d ci: prepare_cerbero_env: Use predictable git clone path
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4063>
2023-02-24 15:53:23 +02:00
Thibault Saunier
5586511446 ci: Add a job to verify commit messages on MRs
This uses [gitlint] and is based on their linting rules with some minor
config so it matches our style pretty well.

[gitlint]: https://jorisroovers.com/gitlint/#configuration

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3980>
2023-02-24 00:22:19 +00:00
Nirbheek Chauhan
e2a8aac2b0 ci/windows: Remove cargo-vendor sources from the cerbero source cache
Copying the source cache to a running Cerbero CI job on Windows causes
strange / corrupted errors that talk about hard links like:

++ cp -a C:/cerbero/cerbero-sources .
cp: will not create hard link `./cerbero-sources/gstreamer-1.0/subprojects/gst-plugins-good/sys/osxaudio' to directory `./cerbero-sources/cargo-c-0.9.12/cargo-vendor/adler/benches'
[...]

So, delete it. The vendored sources are cached by cargo in its own
cache inside CARGO_HOME, which is build/rust/cargo/ and is preserved
in the image. We won't need to redownload any of this.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3805>
2023-01-26 16:03:58 +00:00
Nirbheek Chauhan
5e3967fbff ci: pin hotdoc to 0.13.7 for now, 0.14 has a regression
```
ERROR: [links]: (mandatory-link-not-found): Mandatory link Link GstGLSinkBin -> None (GstGLSinkBin) could not be resolved
ERROR: [links]: (mandatory-link-not-found): Mandatory link Link GstRTPMux -> None (GstRTPMux) could not be resolved
ERROR: [links]: (mandatory-link-not-found): Mandatory link Link GstSRTSink -> None (GstSRTSink) could not be resolved
ERROR: [links]: (mandatory-link-not-found): Mandatory link Link GstSRTSrc -> None (GstSRTSrc) could not be resolved
```

Same change was already made in the 1.20 branch:

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1582#note_1669723

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3527>
2022-12-10 15:13:09 +00:00
Nirbheek Chauhan
46b3f48bdb ci: Bump meson to 0.62.2 in Fedora docker images
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
2022-09-22 09:56:05 +05:30
Nirbheek Chauhan
895290f411 ci: Bootstrap with visualstudio variant enabled
visualstudio variant now pulls in more build-tools deps on top of
mingw since it enables the rust variant by default. It's also the
variant that's tested on Cerbero CI.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2507>
2022-09-17 22:41:40 +00:00
Thibault Saunier
339e5916c6 Build documentation for rust plugins
- Update the docker image we use, starting using the standard one adding
  `gtk4-doc` as required by rust plugins
- Update the plugins_doc_caches as required, some more plugins are built
  with the new image
- Install ninja from pip as the version from F31 is too old
- Avoid buildings all GSreamer plugins when building the doc as it takes
  time and resources for no good reason
- Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
  documentation, leading to warnings in hotdoc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
2022-09-15 20:11:47 +00:00
Jordan Petridis
21ac55bac2 docker/windows: Pass a couple installargs to python3
From these, only PrependPath isn't enabled by default,
but its nice to explicitly enable the ones we need anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2933>
2022-08-26 15:56:47 +00:00
Jordan Petridis
d3dfdeaf47 windows/Dockerfile: replace ADD arguments with Invoke-WebRequest
Have the windows susbsystem handle the networking layer and avoid
layer invalidation until the strings/urls are changed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2812>
2022-07-29 19:56:11 +00:00
Jordan Petridis
f3a324c1a5 ci: Update the windows image
Mainly to get newer meson

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2812>
2022-07-29 19:56:11 +00:00
Jordan Petridis
12442748aa ci: use the correct vs toolcahin version for cerbero
This seems to be a leftover from when we upgraded from vs15
to vs16.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
2022-05-18 09:14:08 +00:00
Jordan Petridis
6adb7eb22c ci: use LONGPATH for the windows container
Sometimes the CI might create paths that are bigger than the 260
character limit.

ex:
```
error: unable to create file subprojects/gst-integration-testsuites/testsuites/validate/h264/parse.trickmode_predicted.seek_trickmode_predicted/flow-expectations/log-parse-src-expected: Filename too long
```

https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
2022-05-18 09:14:08 +00:00
Jordan Petridis
5cd3f68842 ci: remove windows-rust jobs
These are moved now into gstreamer-rs repository.

https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
2022-05-18 09:14:08 +00:00
Jordan Petridis
02c277258b ci: Install Media Foundations on the windows container
In order to do this, we need to switch to the Server container
image, instead of the ServerCore we were using till now.

This image also only has Server2022 base variants.

This is a continuation of:

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1783

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
2022-05-18 09:14:08 +00:00
Jordan Petridis
1d627e29cd ci: fix the windows-rust image builds
There was a rule gated on the project name which wasn't removed
once we moved to the monorepo and this job was silently broken
since.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2302>
2022-05-05 21:33:43 +00:00
Andoni Morales Alastruey
f89dff303a gstreamer-sharp: ensure a consitent code format
Use EditorConfig and dotnet-format to ensure a consistent
code style.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/983>
2022-04-05 08:28:50 +00:00
Xavier Claessens
69863131bd Bump Meson requirement to >=0.60.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
2022-03-14 08:56:54 -04:00
Nirbheek Chauhan
673b742751 ci: Add a Windows native cross-arm64 job with a new image
Needed an update to the windows Dockerfile to:

1. Install the 'UniversalBuildTools' workload for Cerbero
2. Install ARM and ARM64 workloads for cross-uwp-universal in Cerbero
3. Install VS 2019 since we need that for ARM64 NEON support in Opus

We can't test UWP in gstreamer.git because glib needs custom patches
for that. It will be tested in Cerbero.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1570>
2022-01-28 02:01:39 +05:30
Nirbheek Chauhan
72bd408c39 ci: Remove windows-sdk-8.1 from docker image
We don't need this, we use the Windows 10 SDK provided by Visual
Studio Build Tools.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1570>
2022-01-28 02:01:39 +05:30
Jordan Petridis
b0370cdf00 ci: replace license notice
This file was copied from microsoft documentation [1]
and its header was refering to the license on that repo.

This change was lost during gstreamer/gstreamer!1000

[1] 9ec230dfd4/LICENSE-CODE

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1487>
2022-01-03 12:43:15 +02:00
Nicolas Dufresne
06f1dfc724 ci: fedora-docker: Cache media files
As of now all integration tests endup fetching 600MB of media every run. This
will increase the docker side, but this is to the traceof that the docker
image will quickly be cached on all runners.

Fixes #841

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1413>
2021-12-06 12:18:25 +00:00
Tim-Philipp Müller
d4bdbeaa0d meson: add 'gpl' option and only build plugins with (A)GPL deps if explicitly enabled
Require explicit opt-in to build plugins with (A)GPL dependencies.

Keep ugly/bad options on 'auto' for now so cerbero doesn't fail.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
2021-10-18 18:03:19 +01:00
Andoni Morales Alastruey
4be5c7ce0a Fix GStreamer msys2 builds in the CI
Install ninja and the toolchain in the docker image.
Use the UCRT64 environment for building

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1000>
2021-10-14 10:13:51 +00:00
Andoni Morales Alastruey
a1e332bf7e ci: prepare the Windows image for MSYS2 cerbero builds
* Install MSYS2 and VS with choco
 * Install Windows SDK 8.1 requied for libvpx
 * Improve build time of the windows image using as much RUN layers as
   possible

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1000>
2021-10-14 10:13:51 +00:00
Xavier Claessens
275c540984 ci: Update fedora image for cerbero trigger
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:54:13 +03:00
Xavier Claessens
bc40073836 ci: Fix subprojects caching in Windows image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:44:03 +03:00
Jordan Petridis
66066ffa03 ci/docker/fedora: update rustc and meson versions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:44:03 +03:00
Jordan Petridis
67c8e634e0 ci: port to fd.o citemplates
https://gitlab.freedesktop.org/freedesktop/ci-templates

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:44:03 +03:00
Jordan Petridis
e7ef042400 ci: Rebuild windows image
Get updates and newer ca-certificates in.

Also update the way we install chocolatey

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1002>
2021-10-01 14:53:53 +03:00
Thibault Saunier
091946a478 ci: Port CI to the new monorepo
Main differences with previous setup are:
- No manifest creation
- gst-indent is executed only when the bot is assigned (instead of the manifest task)
- Cerbero jobs are triggered in the cerbero repo
- Remove cerbero and android related files as they now are in cerbero
  itself.
- Update `container.ps1` to the new file layout

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891>
2021-09-24 16:21:18 -03:00