platform/upstream/gstreamer.git
4 years agoCI: Combine deps and build for cerbero builds
Nicolas Dufresne [Tue, 9 Jun 2020 19:40:45 +0000 (15:40 -0400)]
CI: Combine deps and build for cerbero builds

This change combine the deps and the build step when running cerbero CI in
cerbero repository itself. This removes avoidable usage of large artifacts.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/303>

4 years agodocker/windows: update msys snapshot
Jordan Petridis [Tue, 2 Jun 2020 08:33:47 +0000 (11:33 +0300)]
docker/windows: update msys snapshot

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/297>

4 years agogitlab: Enforce documentation cache updates
Thibault Saunier [Thu, 4 Jun 2020 21:06:38 +0000 (17:06 -0400)]
gitlab: Enforce documentation cache updates

4 years agodocker: fedora: install nasm properly
Tim-Philipp Müller [Thu, 4 Jun 2020 17:44:51 +0000 (18:44 +0100)]
docker: fedora: install nasm properly

Add it to install list not debuginfo-install list.

Should make openh264 subproject work in gst-build builds.

Fixes #76

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/301>

4 years agoci: Update fedora image
Thibault Saunier [Thu, 4 Jun 2020 16:48:31 +0000 (12:48 -0400)]
ci: Update fedora image

4 years agogitlab: Update hotdoc to latest release
Thibault Saunier [Thu, 4 Jun 2020 16:34:15 +0000 (12:34 -0400)]
gitlab: Update hotdoc to latest release

4 years agoRevert "docker: install intel-mediasdk on Fedora image"
Thibault Saunier [Thu, 4 Jun 2020 15:04:53 +0000 (11:04 -0400)]
Revert "docker: install intel-mediasdk on Fedora image"

This is not available on F30

This reverts commit 9405f9245b1063896f1c02a3b0468a1ecc870193.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/299>

4 years agogitlab: Ensure devhelp files are installed
Thibault Saunier [Thu, 4 Jun 2020 14:17:32 +0000 (10:17 -0400)]
gitlab: Ensure devhelp files are installed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/299>

4 years agoRevert "docker: fedora: update to Fedora 31"
Thibault Saunier [Thu, 4 Jun 2020 14:48:54 +0000 (10:48 -0400)]
Revert "docker: fedora: update to Fedora 31"

This is unused yet because it breaks some things

This reverts commit d016fa74531452c20d76f15d4fbfb31476837766.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/299>

4 years agoci_template: pin hotdoc to pre fundamental documentation
Mathieu Duponchelle [Thu, 4 Jun 2020 15:56:00 +0000 (17:56 +0200)]
ci_template: pin hotdoc to pre fundamental documentation

4 years agoci_template: pin hotdoc to pre gst cache format change
Mathieu Duponchelle [Thu, 4 Jun 2020 15:29:49 +0000 (17:29 +0200)]
ci_template: pin hotdoc to pre gst cache format change

4 years agogitlab: Enable docs only when building the doc
Thibault Saunier [Thu, 4 Jun 2020 02:33:50 +0000 (22:33 -0400)]
gitlab: Enable docs only when building the doc

4 years agoci_template: windows: clone the gst-build specified in the manifest
Jordan Petridis [Fri, 29 May 2020 11:30:26 +0000 (14:30 +0300)]
ci_template: windows: clone the gst-build specified in the manifest

In all our other builds, we are using the clone_manifest_ref script
to fetch the revision of gst-build that we discover in the manifest.
For the windows job this was missed it seems, but didn't cause
any issues till now cause it only affected the gst-build MRs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/296>

4 years agoci: Check valgrind for all modules on gst-devtools
Thibault Saunier [Tue, 26 May 2020 21:38:45 +0000 (17:38 -0400)]
ci: Check valgrind for all modules on gst-devtools

Now that we have [`gst-tester`] all module are starting to be tested
with `gst-validate` (core and -base already have validate based unit
tests) so we need to ensure that changes there do not break those
modules.

[gst-tester]: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/461

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/294>

4 years agoci_template: update cerbero build-deps for gst-validate -> gst-devtools-1.0 rename
Tim-Philipp Müller [Fri, 29 May 2020 12:05:02 +0000 (13:05 +0100)]
ci_template: update cerbero build-deps for gst-validate -> gst-devtools-1.0 rename

https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/490

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/295>

4 years agogst-omx: update vcu-omx-il public release branch
Stéphane Cerveau [Wed, 20 May 2020 15:15:44 +0000 (17:15 +0200)]
gst-omx: update vcu-omx-il public release branch

Use release 2020.01 for the xilinx zynq target
from https://github.com/Xilinx/vcu-omx-il

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/293>

4 years ago.gitlab-ci.yml: fix buildah syntax for tagging images
Jordan Petridis [Thu, 14 May 2020 09:31:07 +0000 (12:31 +0300)]
.gitlab-ci.yml: fix buildah syntax for tagging images

4 years agodocker/fedora: Remove WPEBackend-FDO
Philippe Normand [Wed, 13 May 2020 14:10:40 +0000 (15:10 +0100)]
docker/fedora: Remove WPEBackend-FDO

It should now be built as a gst-build subproject. The version in Fedora is not
suitable for CI tests.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/292>

4 years ago.gitlab-ci.yml: fix typo in buildah images
Jordan Petridis [Thu, 14 May 2020 08:40:50 +0000 (11:40 +0300)]
.gitlab-ci.yml: fix typo in buildah images

4 years agoandroid: update to gradle 5.6.4 without --no-search-upwards
Matthew Waters [Fri, 8 May 2020 09:39:09 +0000 (19:39 +1000)]
android: update to gradle 5.6.4 without --no-search-upwards

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/291>

4 years agoci: run CI for the new vulkan android example
Matthew Waters [Fri, 8 May 2020 08:22:34 +0000 (18:22 +1000)]
ci: run CI for the new vulkan android example

HACK: pointing to user repo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/291>

4 years agodocker/windows: add script to build the image with the correct branch and tag
Jordan Petridis [Mon, 27 Apr 2020 08:10:26 +0000 (11:10 +0300)]
docker/windows: add script to build the image with the correct branch and tag

also move the default_branch arg later in the dockerfile to
avoid invalidating previous layers

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/287>

4 years agoci_template: try harder to cleanup after build jobs
Jordan Petridis [Mon, 27 Apr 2020 12:39:45 +0000 (15:39 +0300)]
ci_template: try harder to cleanup after build jobs

Let's try extra hard to clean after ourselves, cause gitlab-runner
occasionally decides to reuse existing, polluted, volumes...

so much for clean build environments...

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/288>

4 years agowindows/docker: allow to specify the branch to pull for gst-build
Jordan Petridis [Thu, 23 Apr 2020 15:49:07 +0000 (18:49 +0300)]
windows/docker: allow to specify the branch to pull for gst-build

Similar to !232

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/285>

4 years agodocker: remove unused Dockerfiles
Matthew Waters [Fri, 24 Apr 2020 04:16:23 +0000 (14:16 +1000)]
docker: remove unused Dockerfiles

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/286>

4 years agoci_tepmlate: disable the msys job again
Jordan Petridis [Thu, 23 Apr 2020 13:55:01 +0000 (16:55 +0300)]
ci_tepmlate: disable the msys job again

Its still broken and keeps haning randomly... 😢️

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/284>

4 years agoci_template: enable the windows x86 and msys native jobs again
Jordan Petridis [Wed, 22 Apr 2020 08:00:02 +0000 (11:00 +0300)]
ci_template: enable the windows x86 and msys native jobs again

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/281>

4 years agoci_template: don't use prebuilt binaries for test jobs
Jordan Petridis [Tue, 21 Apr 2020 08:54:04 +0000 (11:54 +0300)]
ci_template: don't use prebuilt binaries for test jobs

Previously we were optimizing for cpu time, so we where building
gst-build once and then exporting that to be used by the test jobs.
However this meant that we where uploading 200mb (previously 600mb)
zipped of artifacts and then re-downloading them for each test job.
This caused big costs in terms of cloud egress since the runners
aren't hosted on the same cloud as the storage/artifacts instance.

Instead we are going to be rebuilding gst-build for each test
job from now, it also doesn't take more time than the network
i/o would of downloading the artifacts, so the impact of rebuilding
shouldn't be noticebly.

We are also using pinned git refs the modules we rebuild from
the manifest, so the binaries should be reproducible for the most
part (minus things like .pyc files).

Close #68

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/280>

4 years agooss-fuzz: update for autotools removal
Matthew Waters [Mon, 20 Apr 2020 08:36:28 +0000 (18:36 +1000)]
oss-fuzz: update for autotools removal

4 years agobuild docker image: tag the jobs to use the gstreamer runners
Jordan Petridis [Wed, 15 Apr 2020 16:54:15 +0000 (19:54 +0300)]
build docker image: tag the jobs to use the gstreamer runners

docker builds can be big, and other shared runner have smaller
storage space which we should avoid filling if can be avoided.
The gst tagged runners are a better fit for such builds since
their disk storage is about 1-2 terabytes.

4 years agoReplace docker-in-docker with buildah
Jordan Petridis [Tue, 26 Mar 2019 18:40:35 +0000 (20:40 +0200)]
Replace docker-in-docker with buildah

This avoids the need of using privilledged namespaces and dind
as buildah are able to build images unprivilledged.

One thing to note is that buildah inside docker is not a
supported configuration and not tested in upstream podman,
but the possible fallout is still easier to deal with than
dind and requiring privileged runners.

4 years agoci: Always allow redirect when using curl
Nicolas Dufresne [Sun, 19 Apr 2020 18:30:43 +0000 (14:30 -0400)]
ci: Always allow redirect when using curl

This done by specifying -L parameter. Some of the FDO infrastructure is using
redirect.

4 years agoci_template: avoid exporting the mediafiles into build artifacts
Jordan Petridis [Thu, 16 Apr 2020 18:11:36 +0000 (21:11 +0300)]
ci_template: avoid exporting the mediafiles into build artifacts

Previously we where accidently exporting the whole repo of
gst-integration-testsuites which includes 350mb of raw media
files and made the artifacts storage explode through the roof
along with the CI bills fd.o had to pay for uploading and
redownloading the artifacts

To deal with this, we clean all the media files from the builddir
and when needed we copy them over from the cache in the docker image,
and then git fetch the repo.

Close #69

4 years agoci_template: avoid building libnice tests and examples in the subproject
Jordan Petridis [Fri, 17 Apr 2020 04:29:16 +0000 (07:29 +0300)]
ci_template: avoid building libnice tests and examples in the subproject

We don't run the libnice testsuite, and when binaries are built
they consume ~45mb of space. This increases the size of the artifacts
we export from the gst-build job for the testsuite and drives up
the storage and bandwith costs when re-downloading the artifacts.

Similary disable the test targets of couple other subprojects as well

4 years agoDon't let marge run post-merge pipeline
Nicolas Dufresne [Fri, 17 Apr 2020 17:47:22 +0000 (13:47 -0400)]
Don't let marge run post-merge pipeline

This is a small regression from previous change.

4 years agoclone_manifest_ref: add the ability to fetch instead of cloning the repo
Jordan Petridis [Fri, 17 Apr 2020 05:08:15 +0000 (08:08 +0300)]
clone_manifest_ref: add the ability to fetch instead of cloning the repo

4 years agoci: Let Marge the merge bot trigger our CI
Nicolas Dufresne [Thu, 16 Apr 2020 16:02:36 +0000 (12:02 -0400)]
ci: Let Marge the merge bot trigger our CI

We have notice that a lot of CI activity is cause by user pushing to their
branch after having created an MR. To reduce our CI foot-print, the CI will
now only be automatically triggered when a reviewer assign the MR to the merge
bot. It will still be possible to run the CI manually but the result of that
CI won't be used by Marge.

4 years agoci_template: reduce the size of exported artifacts in gst-build jobs
Jordan Petridis [Fri, 10 Apr 2020 17:42:57 +0000 (20:42 +0300)]
ci_template: reduce the size of exported artifacts in gst-build jobs

This is initial work looking over the deps subprojects and
cleaning up the low hanging fruits. Saves about 90mb compressed.

4 years agowindows: udpate the docker image
Jordan Petridis [Tue, 7 Apr 2020 11:52:37 +0000 (14:52 +0300)]
windows: udpate the docker image

This is a rebuild of the image to acount for an issue
with a security update during February 2020

https://support.microsoft.com/en-us/help/4542617/you-might-encounter-issues-when-using-windows-server-containers-with-t

This also means we can drop the gstreamer-windows tag
that was added in 32c91139a4dac04e447119aa1b9dfdc204dc86eb

4 years agowindows: switch the image tag to ltsc2019
Jordan Petridis [Tue, 7 Apr 2020 11:45:08 +0000 (14:45 +0300)]
windows: switch the image tag to ltsc2019

This should have no functional difference as 1809 is an alias
to ltsc2019 but it makes it more explicit that what branch we
are tracking

4 years agoUpdate cerbero and android docker images
Matthew Waters [Mon, 6 Apr 2020 11:52:59 +0000 (21:52 +1000)]
Update cerbero and android docker images

Partial revert of 9ed6305e1fc139edb50c24ea00169fc481b0517d

For post-merge of android ndk-21 as part of:
https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/266
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/463

4 years agoPartial revert of 9ed6305e1fc139edb50c24ea00169fc481b0517d
Matthew Waters [Mon, 6 Apr 2020 08:38:41 +0000 (18:38 +1000)]
Partial revert of 9ed6305e1fc139edb50c24ea00169fc481b0517d

For post-merge of android ndk-21 as part of:
https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/266
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/463

4 years agodocker/cerbero: checkout proposed ndk-21 cerbero branch
Matthew Waters [Thu, 2 Apr 2020 00:28:09 +0000 (11:28 +1100)]
docker/cerbero: checkout proposed ndk-21 cerbero branch

4 years agodocker: update android image container for ndk-21
Matthew Waters [Thu, 2 Apr 2020 00:26:04 +0000 (11:26 +1100)]
docker: update android image container for ndk-21

4 years agoci: Update to use new external storage for cerbero deps
Nicolas Dufresne [Thu, 2 Apr 2020 21:40:15 +0000 (17:40 -0400)]
ci: Update to use new external storage for cerbero deps

The goal of this change is to reduce egress on the FDO servers.

4 years agogitlab: don't upload gst-build artifacts we never use
Matthew Waters [Thu, 2 Apr 2020 12:42:41 +0000 (23:42 +1100)]
gitlab: don't upload gst-build artifacts we never use

4 years agogitlab: compress deps using xz on master
Matthew Waters [Thu, 20 Jun 2019 08:52:17 +0000 (18:52 +1000)]
gitlab: compress deps using xz on master

Results in a better compression for artifacts that are going to be used
multiple times.

4 years agogst-build: Disabling uploading of artifacts for now
Nirbheek Chauhan [Sat, 28 Mar 2020 11:04:03 +0000 (16:34 +0530)]
gst-build: Disabling uploading of artifacts for now

It seems to be timing out with high frequency only on Windows runners.

```
Version:      12.8.0
00:47
Git revision: 1b659122
Git branch:   12-8-stable
GO version:   go1.13.7
Built:        2020-02-22T03:03:07+0000
OS/Arch:      windows/amd64
Uploading artifacts...
gst-build/build/meson-logs/: found 2 matching files
WARNING: Failed to load system CertPool: crypto/x509: system root pool is not available on Windows
ERROR: Job failed (system failure): aborted: <nil>
```

See: https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/261

4 years agoci_template: Increase timeout of -good valgrind
Seungha Yang [Sat, 28 Mar 2020 08:40:18 +0000 (17:40 +0900)]
ci_template: Increase timeout of -good valgrind

splitmux unit test includes encoding task which might require more time
to finish test

4 years agogst-build: Disable vs2017 x86 job too
Nirbheek Chauhan [Fri, 27 Mar 2020 15:15:32 +0000 (20:45 +0530)]
gst-build: Disable vs2017 x86 job too

This might be related to the same issue described in the previous
commit: Till we can update the container image to the Feb 11 security
update, x86 executables and in general the container image will behave
badly because of:

https://support.microsoft.com/en-us/help/4542617/you-might-encounter-issues-when-using-windows-server-containers-with-t

vs2017 x86 has been failing with a runner system failure while
uploading artifacts / submitting job status:

```
Uploading artifacts...
gst-build/build/meson-logs/: found 2 matching files
WARNING: Failed to load system CertPool: crypto/x509: system root pool is not available on Windows
ERROR: Job failed (system failure): aborted: <nil>
```

https://gitlab.freedesktop.org/slomo/gst-plugins-good/-/jobs/2084184

Disable it for now.

4 years agogst-build: Only use gstreamer runners for windows jobs
Nirbheek Chauhan [Thu, 26 Mar 2020 13:37:19 +0000 (19:07 +0530)]
gst-build: Only use gstreamer runners for windows jobs

Till we can update the container image to the Feb 11 security update,
all x86 executables will crash because of:

https://support.microsoft.com/en-us/help/4542617/you-might-encounter-issues-when-using-windows-server-containers-with-t

So restrict to the gstreamer runners that are running an older Windows
version. For example:

```
subprojects\gstreamer\gst\parse\meson.build:10:0: ERROR: Command
  "c:\python38\python.exe
  C:\builds\thaytan\gst-plugins-good\gst-build\subprojects\gstreamer\gst\parse\get_flex_version.py
  C:\builds\thaytan\gst-plugins-good\gst-build\subprojects\win-flex-bison-binaries\win_flex.exe"
  failed with status 1.
```

https://gitlab.freedesktop.org/thaytan/gst-plugins-good/-/jobs/2066909

```
meson.build:1:0: ERROR: Executables created by c compiler cl are not runnable.
```

https://gitlab.freedesktop.org/nirbheek/gst-ci/-/jobs/2070394

4 years agogst-build: Always include meson-logs in the artifacts
Nirbheek Chauhan [Thu, 26 Mar 2020 11:50:03 +0000 (17:20 +0530)]
gst-build: Always include meson-logs in the artifacts

Can't figure out build errors without this.

4 years agoci: Re-enable example builds for MR
Nicolas Dufresne [Wed, 25 Mar 2020 21:22:09 +0000 (17:22 -0400)]
ci: Re-enable example builds for MR

As we should still build the examples to make sure they are not broken.

Reported-by: Matthew Waters <matthew@centricular.com>
4 years agoci: Always run CI for gst-docs
Nicolas Dufresne [Wed, 25 Mar 2020 18:36:48 +0000 (14:36 -0400)]
ci: Always run CI for gst-docs

We have an external cron that rely on this to pull and update the doc on the
webpage.

Fixes #64

4 years agoci: Remove uneeded cerbero jobs from gst-docs CI
Nicolas Dufresne [Wed, 25 Mar 2020 18:00:20 +0000 (14:00 -0400)]
ci: Remove uneeded cerbero jobs from gst-docs CI

4 years agodocker: install intel-mediasdk on Fedora image
Guillaume Desmottes [Fri, 7 Feb 2020 07:18:44 +0000 (12:48 +0530)]
docker: install intel-mediasdk on Fedora image

Will be used to build gst-msdk in gst-plugins-bad.
Fix #52

4 years agodocker: fedora: update to Fedora 31
Guillaume Desmottes [Fri, 7 Feb 2020 08:07:06 +0000 (13:37 +0530)]
docker: fedora: update to Fedora 31

aom-extra-tools has been removed from Fedora:
https://src.fedoraproject.org/rpms/aom/c/038d7b2164e15c9067af3d2d2e0b50a4d890b218?branch=master

gstreamer1-plugins-bad-nonfree has been removed from rpmfusion:
https://pkgs.rpmfusion.org/cgit/nonfree/gstreamer1-plugins-bad-nonfree.git/commit/?id=30641c2ded63d12e099d32cb814bab8244f48c90
It was only used of its build deps of which only faac-devel was not
already installed, so I added it instead.

Need to manually install pip3 now.

4 years agoci: Switch msys2 job to manual
Nicolas Dufresne [Fri, 20 Mar 2020 11:57:41 +0000 (07:57 -0400)]
ci: Switch msys2 job to manual

This will reduce the excessive load on the runners which are having issues
with this job in particuliar. We will revisit when we better understand the
runners issues.

4 years agoci: Replace REGEX variables
Nicolas Dufresne [Wed, 18 Mar 2020 01:58:54 +0000 (21:58 -0400)]
ci: Replace REGEX variables

Passing regex as variable does not really works, we ended up matching the
regex as a string instead. Replace all REGEX variable with rules: override.
It is longer but more reliable.

Related to !247
Fixes #63

4 years agoci: disable Rust jobs for now
Guillaume Desmottes [Wed, 18 Mar 2020 07:57:12 +0000 (08:57 +0100)]
ci: disable Rust jobs for now

They are not reliable enough (#53) and generated artifacts are too big (#61)
so disable them until those issues are solved.

Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/97

4 years agoci: Fix gstreamer-full job to run in gst-build
Nicolas Dufresne [Wed, 18 Mar 2020 01:38:34 +0000 (21:38 -0400)]
ci: Fix gstreamer-full job to run in gst-build

It was set to gst-omx by accident instead.

4 years agoci: Fix exceptions for gst indent job
Nicolas Dufresne [Wed, 18 Mar 2020 01:27:09 +0000 (21:27 -0400)]
ci: Fix exceptions for gst indent job

The name of the variable passing the exception regex wasn't correct. As a side
effect, gst-indent was not run on all repository.

4 years agoci: Remove spurious except regex in valgrind test
Nicolas Dufresne [Tue, 17 Mar 2020 15:59:34 +0000 (11:59 -0400)]
ci: Remove spurious except regex in valgrind test

This was ported but unused from the previous code. In the new code it was
preventing valgrind jobs from being run in gstreamer repository.

4 years agoci: Remove outdated commemt
Nicolas Dufresne [Tue, 17 Mar 2020 15:58:33 +0000 (11:58 -0400)]
ci: Remove outdated commemt

We no longer use awk or cat int hat context.

4 years agoci: Cleanup gst-omx from unneeded jobs
Nicolas Dufresne [Tue, 17 Mar 2020 00:29:26 +0000 (20:29 -0400)]
ci: Cleanup gst-omx from unneeded jobs

4 years agoOnly run CI automatically on merge_request
Nicolas Dufresne [Wed, 4 Mar 2020 22:30:06 +0000 (17:30 -0500)]
Only run CI automatically on merge_request

4 years agoMake jobs interruptible by default
Nicolas Dufresne [Wed, 4 Mar 2020 21:46:57 +0000 (16:46 -0500)]
Make jobs interruptible by default

This was added in 12.3 and is false by default. Make it to true, so that we
stop the previous pipelien on force push.

4 years agoPort from only/except to rules
Nicolas Dufresne [Wed, 4 Mar 2020 14:58:38 +0000 (09:58 -0500)]
Port from only/except to rules

Rules is a new feature that replaces only/except and allow for finer grain
control on the workflow. With rules, we gain finer grain to pipeline and merge
request pipelines.

4 years agogst-full: Only build 1 plugin and disable all artifacts
Xavier Claessens [Mon, 16 Mar 2020 19:48:41 +0000 (15:48 -0400)]
gst-full: Only build 1 plugin and disable all artifacts

This is enough to validate that it works for now.

Fixes: #60

4 years agoci_template: extend the scenarios where retries are attempted
Jordan Petridis [Mon, 9 Mar 2020 13:27:25 +0000 (15:27 +0200)]
ci_template: extend the scenarios where retries are attempted

The windows runner has become a bit unstable lately, might be
due to some recent update. It frequently timeouts while waiting
to pick up a job or sometimes it goes missing in the middle of a job.

4 years agogitlab: build gst-omx with tizonia as target
Guillaume Desmottes [Thu, 19 Dec 2019 07:20:14 +0000 (12:50 +0530)]
gitlab: build gst-omx with tizonia as target

Build just the minimum to be able to build gst-omx with this specific
target.

4 years agodocker: allow to specify the branch to pull for various repos
Jordan Petridis [Mon, 10 Feb 2020 13:09:49 +0000 (15:09 +0200)]
docker: allow to specify the branch to pull for various repos

Declare an docker build-arg [1] and use it
whenever cloning one of our repositories. If the buildarg
is not specified, the variable defaults back to 'master'
and thus the current behavior doesn't change.

From the .gitlab-ci.yml file, when building pass
the GST_UPSTREAM_BRANCH that's defined from the ci_template
as the buildarg so we will be building the corresponding branches
for the docker images.

Close #33

[1] https://docs.docker.com/engine/reference/builder/#arg

4 years agogitlab/cerbero: Use new prefix for jobs built with MinGW
Nirbheek Chauhan [Mon, 2 Mar 2020 09:09:43 +0000 (14:39 +0530)]
gitlab/cerbero: Use new prefix for jobs built with MinGW

4 years agoAdd integration test for gstreamer-full-1.0
Xavier Claessens [Mon, 16 Dec 2019 21:04:53 +0000 (16:04 -0500)]
Add integration test for gstreamer-full-1.0

4 years agogitlab/cerbero: Do not add tmp files to cerbero-deps tarball
Nirbheek Chauhan [Wed, 4 Mar 2020 00:07:12 +0000 (05:37 +0530)]
gitlab/cerbero: Do not add tmp files to cerbero-deps tarball

This is where the WINEPREFIX is now in Cerbero. This used to be
share/wine, but was moved to var/tmp/wine for clarity. It was causing
two problems:

1. The size of these generated files are ~1GB, which were ~500MB after
   tar.gz, and they were completely useless since they can just be
   regenerated by Wine the next time it's run. Let's not waste egress
   bandwidth.

2. Random build failures because wineserver and associated processes
   would not always exit before we started tarring up the prefix, then
   write to the directory on exit while tar was reading the directory
   causing `tar -czf` to fail:

```
$ tar -C ${CERBERO_HOME} -czf $CERBERO_DEPS build-tools build-tools.cache dist/${ARCH} ${ARCH}.cache
tar: build-tools/share/wine: file changed as we read it
Uploading artifacts...
manifest.xml: found 1 matching files
cerbero-build/logs: found 461 matching files
cerbero-build/cerbero-deps.log: found 1 matching files
cerbero-deps.tar.gz: found 1 matching files
Uploading artifacts to coordinator... ok            id=1807197 responseStatus=201 Created token=4_qFUP8z
ERROR: Job failed: exit code 1
```

4 years agocerbero-android: don't upload the '-runtime' package
Matthew Waters [Wed, 4 Mar 2020 00:46:50 +0000 (11:46 +1100)]
cerbero-android: don't upload the '-runtime' package

It's useless for android

4 years agowindows: checkout the correct branch of gst-build for stable branch
Jordan Petridis [Wed, 26 Feb 2020 12:03:40 +0000 (14:03 +0200)]
windows: checkout the correct branch of gst-build for stable branch

Previously we would always checkout from master, which doesn't
end up working well for the stable branch. We already have a mechanism
to specify the correct branch to clone from each template. [1]

[1] https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/118

4 years agogitlab: Run ges valgrind tests on devtools changes
Thibault Saunier [Thu, 20 Feb 2020 21:27:47 +0000 (18:27 -0300)]
gitlab: Run ges valgrind tests on devtools changes

We have validate 'unit test' there

4 years agowindows: try to avoid random failures due to pre-existing gst-build clone
Jordan Petridis [Tue, 25 Feb 2020 12:01:45 +0000 (14:01 +0200)]
windows: try to avoid random failures due to pre-existing gst-build clone

This is slightly weird, cause I am not sure what causes the clone
to be there, since gitlab-runner supposedly always either use a
clean volume or at least runs git clean on the existing ones.

But its there and so we have to deal with failures like so
https://gitlab.freedesktop.org/tpm/gstreamer-sharp/-/jobs/1672137

4 years agogitlab: update fedora image
Guillaume Desmottes [Mon, 24 Feb 2020 06:31:53 +0000 (12:01 +0530)]
gitlab: update fedora image

Update to meson 0.53.1

4 years agodocker: fedora: update to meson 0.53.1
Guillaume Desmottes [Mon, 24 Feb 2020 04:20:47 +0000 (09:50 +0530)]
docker: fedora: update to meson 0.53.1

Needed to build Tizonia (gst-omx backend).

4 years agoci_template: update the docker image versions
Jordan Petridis [Mon, 10 Feb 2020 11:53:27 +0000 (13:53 +0200)]
ci_template: update the docker image versions

4 years agodocker/fedora: upgrade base images to f31
Jordan Petridis [Wed, 29 Jan 2020 14:43:34 +0000 (16:43 +0200)]
docker/fedora: upgrade base images to f31

All the images except the gst-build fedora image,
due to further changes being needed

4 years agodocker/fedora: add libappstream-glib to the image
Jordan Petridis [Wed, 29 Jan 2020 14:35:20 +0000 (16:35 +0200)]
docker/fedora: add libappstream-glib to the image

Needed to validate the appstream files of GstDebugViewer
in gst-devtools.

https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/155

4 years agogitlab: use libsodium from system
Guillaume Desmottes [Wed, 22 Jan 2020 09:52:41 +0000 (15:22 +0530)]
gitlab: use libsodium from system

The Rust crate can either build its own libsodium or use the one from
the system. Do the latter to reduce build time.

4 years agogitlab: update fedora image
Guillaume Desmottes [Fri, 31 Jan 2020 15:02:59 +0000 (20:32 +0530)]
gitlab: update fedora image

4 years agogitlab/cerbero: Run gst-inspect on the built binaries
Nirbheek Chauhan [Sun, 2 Feb 2020 21:02:53 +0000 (02:32 +0530)]
gitlab/cerbero: Run gst-inspect on the built binaries

Using the latest cerbero image to get Wine for cross-win32|64.

4 years agodocker/cerbero: Install wine in system setup
Nirbheek Chauhan [Mon, 3 Feb 2020 18:46:09 +0000 (00:16 +0530)]
docker/cerbero: Install wine in system setup

This is now an optional runtime dependency that cerbero can make use
of for doing runtime testing of the built binaries. Needed for
building a new image so that !227 can be merged.

4 years agodocker: fedora: install Tizonia dep
Guillaume Desmottes [Thu, 30 Jan 2020 09:29:57 +0000 (14:59 +0530)]
docker: fedora: install Tizonia dep

Need to build gst-omx with Tizonia as target (#20).

4 years agoci_template.yml: Update the windows image version
Jordan Petridis [Wed, 22 Jan 2020 15:06:08 +0000 (17:06 +0200)]
ci_template.yml: Update the windows image version

4 years agodocker/windows: work around a python ssl issue
Jordan Petridis [Wed, 22 Jan 2020 11:59:44 +0000 (13:59 +0200)]
docker/windows: work around a python ssl issue

Python fails to validate github.com SSL certificate, unless we first
run a dummy download to force refreshing Windows' CA database.
See: https://bugs.python.org/issue36137

Adapted from patches by Xavier Claessens!

4 years agodocker/windows: install cmake with choco as well
Jordan Petridis [Tue, 21 Jan 2020 18:22:56 +0000 (20:22 +0200)]
docker/windows: install cmake with choco as well

4 years agodocker/windows: copy the install scripts just before running them
Jordan Petridis [Tue, 21 Jan 2020 13:29:01 +0000 (15:29 +0200)]
docker/windows: copy the install scripts just before running them

This results into more docker layers, but it avoid invalidating
the previous layers when changing anything in the script, making
build times faster.

Adapted from patches by Xavier Claessens!

4 years agodocker/windows: install git, gitlfs, 7zip and python3 with choco
Jordan Petridis [Tue, 21 Jan 2020 13:27:19 +0000 (15:27 +0200)]
docker/windows: install git, gitlfs, 7zip and python3 with choco

Move them into a seperate script to avoid needing to refresh the
env, and make it simpler.

Adapted from patches by Xavier Claessens!

4 years agodocker/windows: use direct download links from mirrors
Jordan Petridis [Fri, 13 Dec 2019 12:34:38 +0000 (12:34 +0000)]
docker/windows: use direct download links from mirrors

Else Invoke-WebRequest gets redirected and ends up downloading
html page. Possibly due to an unkown user-agent? who knows.

4 years agodocker/windows: Download and install MSYS for Cerbero
Nirbheek Chauhan [Fri, 13 Dec 2019 00:53:42 +0000 (06:23 +0530)]
docker/windows: Download and install MSYS for Cerbero

4 years agodocker/windows: Install CMake for Cerbero
Nirbheek Chauhan [Fri, 13 Dec 2019 00:53:17 +0000 (06:23 +0530)]
docker/windows: Install CMake for Cerbero

4 years agodocker/windows: Fix 7zip extract command for MSYS2
Nirbheek Chauhan [Fri, 13 Dec 2019 00:51:36 +0000 (06:21 +0530)]
docker/windows: Fix 7zip extract command for MSYS2

-Wait is only needed for Start-Process. Also, explicitly extract the
tar file into C:\ -- don't assume the current directory is C:\

4 years agodocker/windows: Clarify some MSYS2 install steps
Nirbheek Chauhan [Fri, 13 Dec 2019 00:30:04 +0000 (06:00 +0530)]
docker/windows: Clarify some MSYS2 install steps

4 years agodocker/windows: Update python, git, and MSYS2
Nirbheek Chauhan [Thu, 12 Dec 2019 04:52:43 +0000 (10:22 +0530)]
docker/windows: Update python, git, and MSYS2

The git update is particularly important because of security
vulnerabilities on Windows related to NTFS.