Commit graph

164 commits

Author SHA1 Message Date
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
c861664356 ci: re-enable artifacts upload for the windows jobs
Hopefully the timeout issues won't affect the new runner

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
f31afe465f ci: set the code page of powershell to utf-8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2397>
2022-05-15 09:34:58 +00:00
Jordan Petridis
7865d1155d ci: add gst-env.py to the changes rules
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2397>
2022-05-15 09:34:58 +00:00
Jordan Petridis
fff82f5650 ci: remove unused files
These are leftovers of the gst-ci repo, before the mono repo
merge and can be removed now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2403>
2022-05-14 11:13:10 +00:00
Jordan Petridis
8870f59a07 ci: update/rebuild windows image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2302>
2022-05-05 21:33:43 +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
Tim-Philipp Müller
5ba4fe690c ci: Don't check indentation on post merge pipelines
We're probably safe to assume that it hasn't changed
since the MR pipeline last checked it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2063>
2022-04-01 23:19:21 +00:00
Tim-Philipp Müller
b6f134f445 ci: stop automatically running tests post-merge
We did that in order to find flaky tests so we could add
them to our ignore lists, but that's all done now and I
doubt anyone still looks at the results, so this is just
wasting runner cycles at this point.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2063>
2022-04-01 23:19:21 +00:00
Daniel Stone
d19dbfc1e3 ci: Don't tie up a full job slot for cerbero trigger
We don't have a huge amount of capacity on shared runners, so better if
we don't use that limited capacity on a job which sits there doing
~nothing.

There is a new runner class called 'placeholder-job' which accepts a
huge number of parallel jobs, separately to normal jobs, on the
assumption that they will consume ~no resources; start using that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2071>
2022-03-30 12:53:22 +00:00
Thibault Saunier
761f26080a python: Add a suppression file for a leak in PyGObject
And ensure that the CI runs GES valgrind test when we change the
overrides as many GES tests are implemented in python

Proper fix is at: https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/204

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2060>
2022-03-29 19:16:58 +02: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
Andoni Morales Alastruey
2b827948d5 windows: increase the timeout to create the windows docker image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1912>
2022-03-11 19:40:05 +00:00
Andoni Morales Alastruey
b76204bf7d ci: force a new windows image to update cerbero's bootstrap
See:https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/743#note_1270646

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1912>
2022-03-11 19:40:05 +00:00
Jordan Petridis
303d2a9ab7 Revert "ci: Disable windows jobs for now"
This reverts commit be2815a07a.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1827>
2022-03-02 06:17:35 +00:00
Jordan Petridis
be2815a07a ci: Disable windows jobs for now
The runner is down and under maintainance.
2022-02-24 15:34:34 +02:00
Nirbheek Chauhan
023bb9c425 ci: Increase cerbero trigger timeout to 3h
All cerbero jobs explicitly override the default project timeout from
1h to 3h, so this should also be 3h. It is quite common for cerbero
trigger jobs to timeout due to slow download speeds from the artifact
server to FDO gitlab.

https://gitlab.freedesktop.org/heirecka/gstreamer/-/jobs/18803342
https://gitlab.freedesktop.org/gstreamer/cerbero/-/jobs/18803360

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1686>
2022-02-15 04:58:13 +05:30
Nirbheek Chauhan
a10bcd1671 ci: Trigger all jobs on gitlab CI script changes
Also fix typo in trigger variable that was causing triggered cerbero
pipelines to run deps builds and upload cache.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1641>
2022-02-05 09:21:48 +05:30
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
Tim-Philipp Müller
8557f10acf ci: run fedora amd64 docker jobs on packet runners
Which have much better network connectivity to fdo gitlab.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1420>
2021-12-06 17:36:26 +00: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
Jordan Petridis
eb33309050 ci: Avoid fetching tags for build jobs
Avoid fetching tags since we don't need them for builds.
Only caveat might be what happens when a pipeline from
a tag is triggered

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1400>
2021-11-30 17:01:52 +02:00
Jordan Petridis
1ffa79d1aa ci: Looks like we where not triggering pipelines for tags
Oops.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1400>
2021-11-30 17:01:52 +02:00
Jordan Petridis
98cd5f9b8b ci: Set GIT_DEPTH variable
This switches gitlab-runner to using shallow clones

related #841

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1400>
2021-11-30 17:01:52 +02:00
Marc-André Lureau
836fb53351 ci: fix minor comment typo
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1371>
2021-11-22 12:46:15 +04:00
Nicolas Dufresne
d692393619 ci: Do not clone in the trigger job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1298>
2021-11-02 22:10:42 +00:00
Stéphane Cerveau
47a4c74e9b ci: gstreamer-full: remove static build
The gstreamer-full jobs act as
static builds,  no need to perform it twice.

gstreamer-full-minimal can be nodebug.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1215>
2021-10-21 13:10:36 +00:00
Thibault Saunier
ba34f6a113 Revert "ci: Split base and core valgrind on different runners"
Those job are not the ones that take most time in normal run (they
where when running with --n-runs) and that leads to using more runners
which might be a problem at this point.

This reverts commit 4ad22b05a1.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1212>
2021-10-20 22:35:27 +00:00
Stéphane Cerveau
58caa8af62 ci: gstreamer-full: reenable build
The gstreamer-full job should be run
during the integrate stage always.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1190>
2021-10-19 18:26:03 +00:00
Tim-Philipp Müller
9bd8c45db0 ci: install newer meson via pip in documentation job
Since updating the existing image seems difficult and efforts
to redo the setup are still work in progress.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
2021-10-18 18:03:19 +01: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
Thibault Saunier
e73fc26cf6 ci: Build introspection support on static builds
But disable python in GES as it is not supported on static builds

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
2021-10-15 20:27:35 -03:00
Thibault Saunier
64462f627b ci: Move rules from .build fedora x86_64 to .build
They should apply to all job that extend it as the 2 jobs that depend on
`.build` but not on `.build fedora x86_64` is
`build nodebug fedora x86_64` which pulls `build static nodebug fedora x86_64`
both jobs should be manual on `main` and they should run only if some
files "modules_changes" happened

Also make sure we do no automatically run job on `main` branches from forks

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1141>
2021-10-14 13:42:21 +00:00
Thibault Saunier
eb839a8423 ci: Fix ordering of rules to always build on main
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1141>
2021-10-14 13:42:21 +00:00
Thibault Saunier
42501adc4c ci: Check for closed bugs for unit tests too
And add FIXMEs for test that should have been reenabled but haven't,
we will reenable them when CI is stable enough!

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1121>
2021-10-14 12:59:29 +00: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
Thibault Saunier
4c046c9e8a ci: Run tests post merge
This will make tracking new races much easier

Mark other jobs as manual when pipeline is running on master

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1129>
2021-10-13 18:40:51 +00:00
Jordan Petridis
89540bd528 ci: have the fedora docker build depend on the trigger job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1120>
2021-10-12 23:35:20 +00:00
Thibault Saunier
4ad22b05a1 ci: Split base and core valgrind on different runners
Those are very slow compared to other jobs and it should mitigate the problem

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1113>
2021-10-12 16:59:16 +00:00
Jordan Petridis
c26d840f65 ci: remove outdated rule for gstreamer-full-minimal
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1065>
2021-10-10 15:01:37 +00:00
Jordan Petridis
cfe2bf8239 ci: update rules that pointed to gst-ci subproject
The files are now moved into ci/ at the root of the repo.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1065>
2021-10-10 15:01:37 +00:00
Thibault Saunier
ce76a286ed validate:launcher: Sync asset only when passing --sync
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1020>
2021-10-06 17:00:54 +00:00
Xavier Claessens
d189b0d0ec ci: Fix typo in cerbero trigger
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1056>
2021-10-06 09:04:30 +00:00
Jordan Petridis
c50a35da2b ci: remove duplicate stage key in documentation job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:54:13 +03:00
Xavier Claessens
cdbb3e6ba4 ci: Remove "check allow-edit" job because gitlab does it by default
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:54:13 +03: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
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
bfbffc73ab ci: remove duplicate keys
They are redefined/copied just below

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:14:56 +03:00
Nicolas Dufresne
8f39de3283 ci: Add a dummy trigger job/stage
This is to avoid triggering docker images for no reason, and bring back
running gst-indent always.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1054>
2021-10-05 17:22:57 +00:00
Nicolas Dufresne
88ceb249be ci: Document the difference between the two doc jobs
Naming is hard, so I opted for a small comment to explain this one.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1054>
2021-10-05 17:22:57 +00:00
Jordan Petridis
0f77939714 ci: Rework workflow rules to prevent duplicate pipelines
Currently gitlab spawns 2 pipelines, one for the branch and
another for the merge request.

Update our rules so that only one of them is spawned depending
on the situation.

https://docs.gitlab.com/ee/ci/yaml/index.html#switch-between-branch-pipelines-and-merge-request-pipelines

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/958>
2021-10-05 11:49:01 +00: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
1ce9918808 indent: Ignore any changes in medias/
It is a submodule and we do not care about it

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/952>
2021-09-29 16:40:00 +00:00
Thibault Saunier
a619f2cedf docs: Always build documentation on gstreamer/gstreamer main branch
So artifacts can the be imported on gst.fd.o.

And update the importation script accordingly

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/952>
2021-09-29 16:40:00 +00:00
Xavier Claessens
6bb03ddafc ci: Remove useless GIT_LFS_SKIP_SMUDGE and GIT_STRATEGY
GIT_LFS_SKIP_SMUDGE is not needed because we don't have git-lfs any
more.

GIT_STRATEGY is not needed because "fetch" is the default strategy.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/939>
2021-09-29 09:07:25 -04:00
Thibault Saunier
37d7e9a22d ci: Wait for cerbero pipeline to finish
So we are sure the pipeline is marked as failed if the cerbero sub pipeline fails

See https://gitlab.com/gitlab-org/gitlab/-/issues/341737 for details

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/946>
2021-09-28 10:58:25 -03:00
Xavier Claessens
753c6310aa ci: trigger cerbero
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/938>
2021-09-27 16:56:52 +00: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
Jordan Petridis
ab47fccaec
Add Gitlab CI configuration
This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.

The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.
2018-11-09 18:54:03 +02:00