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
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.
Guillaume Desmottes [Fri, 31 Jan 2020 15:02:59 +0000 (20:32 +0530)]
gitlab: update fedora image
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.
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.
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).
Jordan Petridis [Wed, 22 Jan 2020 15:06:08 +0000 (17:06 +0200)]
ci_template.yml: Update the windows image version
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!
Jordan Petridis [Tue, 21 Jan 2020 18:22:56 +0000 (20:22 +0200)]
docker/windows: install cmake with choco as well
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!
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!
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.
Nirbheek Chauhan [Fri, 13 Dec 2019 00:53:42 +0000 (06:23 +0530)]
docker/windows: Download and install MSYS for Cerbero
Nirbheek Chauhan [Fri, 13 Dec 2019 00:53:17 +0000 (06:23 +0530)]
docker/windows: Install CMake for Cerbero
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:\
Nirbheek Chauhan [Fri, 13 Dec 2019 00:30:04 +0000 (06:00 +0530)]
docker/windows: Clarify some MSYS2 install steps
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.
Nirbheek Chauhan [Thu, 12 Dec 2019 04:52:06 +0000 (10:22 +0530)]
docker/windows: Use load-balancing for sourceforge URLs
Instead of using a specific mirror, which may be slow or might
disappear.
Nirbheek Chauhan [Thu, 12 Dec 2019 04:50:55 +0000 (10:20 +0530)]
docker/windows: Install Python to a path without spaces
This is needed for Cerbero since Autotools cannot handle paths to
binaries that have spaces in them.
Nirbheek Chauhan [Thu, 12 Dec 2019 04:49:53 +0000 (10:19 +0530)]
docker/windows: Download Python installer as python3-installer
Having a binary called 'python3' anywhere that might accidentally end
up in PATH is asking for trouble.
Philippe Normand [Wed, 25 Dec 2019 10:08:08 +0000 (11:08 +0100)]
docker/fedora: Install libdav1d
This library is required for the gst-plugins-rs rsdav1d plugin build.
Guillaume Desmottes [Wed, 15 Jan 2020 05:03:29 +0000 (10:33 +0530)]
gitlab: run gst-plugins-rs tests
Fix #46
Guillaume Desmottes [Fri, 24 Jan 2020 05:56:03 +0000 (11:26 +0530)]
gitlab: override 'except' on build rust job
The parent job has an except rule on gst-plugins-rs which was inherited
preventing the job to be run on gst-plugins-rs updates.
Fix #51
Guillaume Desmottes [Wed, 15 Jan 2020 08:35:34 +0000 (14:05 +0530)]
docker: fedora: install libsodium
Used by a Rust plugin.
Guillaume Desmottes [Wed, 15 Jan 2020 04:39:55 +0000 (10:09 +0530)]
gitlab: move gst-plugins-rs to its own job
Building Rust code is significantly slowing down ci so do it only for
projects which could make gst-plugins-rs regress.
Nicolas Dufresne [Sun, 12 Jan 2020 04:09:04 +0000 (23:09 -0500)]
CI: integration: Split this test in 4 jobs
That job was the slowest, now each jobs takes about 12 minutes, which
makes it slightly faster then msys2 jobs, and sometime iOS due to low
bandwidth and low availibility of OSX runners.
Guillaume Desmottes [Wed, 15 Jan 2020 05:59:01 +0000 (11:29 +0530)]
gitlab: cache CARGO_HOME in shared cache
Guillaume Desmottes [Thu, 2 Jan 2020 08:33:54 +0000 (14:03 +0530)]
gitlab: enable gst-plugins-rs in build fedora jobs
Guillaume Desmottes [Wed, 8 Jan 2020 10:51:09 +0000 (16:21 +0530)]
gitlab: don't run gst-plugins-rs tests
They are not working with CI atm, see #46
Nirbheek Chauhan [Wed, 8 Jan 2020 18:14:56 +0000 (23:44 +0530)]
gitlab-ci: Fix docker tag when pushing image
Missed in https://gitlab.freedesktop.org/gstreamer/gst-ci/merge_requests/213
Guillaume Desmottes [Thu, 19 Dec 2019 07:20:14 +0000 (12:50 +0530)]
gitlab: build gst-omx with zynq as target
Build just the minimum to be able to build gst-omx with this specific
target.
Nirbheek Chauhan [Tue, 7 Jan 2020 07:28:21 +0000 (12:58 +0530)]
gitlab-ci.yml: Allow tagging images built on upstream branches
If we're on the gstreamer namespace, we should push all images built
on that namespace to the registry. This is needed to, f.ex., update
the docker image used in stable builds. This is needed for:
https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/367
Nirbheek Chauhan [Mon, 6 Jan 2020 21:07:55 +0000 (02:37 +0530)]
docker/cerbero: Do not manually install nasm when building image
This is pulled in correctly via cerbero's bootstrap deps now.
Guillaume Desmottes [Thu, 2 Jan 2020 06:29:07 +0000 (11:59 +0530)]
gitlab: disable most jobs for gst-plugins-rs
No need to run jobs which are not building gst-plugins-rs.
Nirbheek Chauhan [Wed, 25 Dec 2019 09:38:59 +0000 (15:08 +0530)]
gitlab/gst-build: Disable building rust plugins
gst-build now includes gst-plugins-rs, but gst-plugins-rs CI does not
run the gst-build CI jobs, so MRs can easily break gst-build CI.
F.ex: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/merge_requests/186#note_371696
Disable this till that's resolved.
Guillaume Desmottes [Mon, 23 Dec 2019 08:54:17 +0000 (14:24 +0530)]
gitlab: update Fedora image
Include Rust environnement fix.
Guillaume Desmottes [Mon, 23 Dec 2019 06:22:20 +0000 (11:52 +0530)]
docker: export RUSTUP/CARGO_HOME in container
The rust binaries (rustc) needs those variables to be defined to work
properly.
Guillaume Desmottes [Fri, 20 Dec 2019 10:15:17 +0000 (15:45 +0530)]
gitlab: update fedora image
Use image with Rust.
Guillaume Desmottes [Wed, 18 Dec 2019 04:11:59 +0000 (09:41 +0530)]
docker/fedora: install Rust
Needed to build gst-plugins-rs, see gst-plugins-rs!205
Xavier Claessens [Wed, 18 Dec 2019 18:47:01 +0000 (13:47 -0500)]
Update fedora image
Xavier Claessens [Wed, 18 Dec 2019 15:48:14 +0000 (10:48 -0500)]
docker/fedora: Update meson to 0.52.1
Eric Marks [Tue, 17 Dec 2019 16:13:05 +0000 (10:13 -0600)]
docker/fedora: Install libcaca and aalib
Add libcaca-devel and aalib-devel to dependencies so that cacasink and
aasink can be built.
Jordan Petridis [Wed, 11 Dec 2019 15:34:19 +0000 (17:34 +0200)]
ci_template: limit cerbero jobs to the GStreamer tagged runners
CCache tends to consume a lot of space which taxes heavily some
of the shared runners. Limit the mahcines the job can run
to those were we can ensure they will not have issues with
the storage.
Matthew Waters [Thu, 5 Dec 2019 13:53:24 +0000 (00:53 +1100)]
gitlab: enable ios builds by default
They are small enough now to not impact the overall running time of a CI
pipeline.
Tim-Philipp Müller [Thu, 5 Dec 2019 00:37:20 +0000 (00:37 +0000)]
ci_template: bump timeout for msys2 job
Jordan Petridis [Wed, 4 Dec 2019 22:49:40 +0000 (00:49 +0200)]
windows: fix invalid powershell syntax
```
At line:1 char:34
+ cd $env:CI_PROJECT_DIR/gst-build && python git-update --no-interactio ...
+ ~~
The token '&&' is not a valid statement separator in this version.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordEx
ception
+ FullyQualifiedErrorId : InvalidEndOfLine
```
This is not bash, but powershell, hue hue hue
Jordan Petridis [Wed, 4 Dec 2019 22:52:45 +0000 (00:52 +0200)]
ci_template: make sure powershell hard exists on errors
We set the env var as the shell of the image, but looks like
the gitlab runner is overriding that.
Jordan Petridis [Mon, 2 Dec 2019 16:23:27 +0000 (18:23 +0200)]
windows: Migrate to windows 1809 base
Rebuild the windows docker image against the current ltsc [1]
of server 2019. This requires moving some of the msys setup
to the runner job cause it causes docker build to hang
Switch the job tags so they now use the 1809 runner, instead
of 1607.
Tweak the PATHs in the msys job so bash doesn't complain about
slashes..
Lastly, increase the timeout of the windows jobs, as msys2
installs its deps at runtime
[1] https://docs.microsoft.com/en-us/windows-server/get-started-19/servicing-channels-19
Matthew Waters [Mon, 2 Dec 2019 23:37:16 +0000 (10:37 +1100)]
gitlab: build cerbero android/ios for gst-docs examples
Jordan Petridis [Mon, 2 Dec 2019 22:53:02 +0000 (00:53 +0200)]
ci_template: Increase the timeout of gst-builds more
Need to take into account I/O needed to upload artficats
and download docker images.
Jordan Petridis [Sun, 1 Dec 2019 12:46:27 +0000 (14:46 +0200)]
ci_template: Bump the timeout limit from 10 to 15min for windows
Jordan Petridis [Thu, 28 Nov 2019 12:59:30 +0000 (14:59 +0200)]
ci_template: set per-job timeouts for builds
In case a build gets stuck for whatever reason,
happens from time to time on windows,
try to baild out quickly.
For cerbero builds, set the timeout to 3h which
according to the docs should also be able to
override the project defined timeout
Fix #19
https://docs.gitlab.com/ce/ci/yaml/README.html#timeout
Jordan Petridis [Mon, 25 Nov 2019 13:51:52 +0000 (15:51 +0200)]
ci_template: Use a host-mapped volume for the ccache directory
Use hardcoded path for the cache, so it will be shared by
all jobs of all gstreamer projects running on the same runner host. This
should increase the hit rate and decrease the worst case storage used.
Adaptation of https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2818
See https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/120
Matthew Waters [Thu, 28 Nov 2019 01:55:51 +0000 (12:55 +1100)]
update for macos 10.15 making / read-only
We've moved the host cached cerbero directory to /Users/gst-ci/cerbero
instead now.
Jordan Petridis [Fri, 22 Nov 2019 15:23:15 +0000 (17:23 +0200)]
ci_template.yml: Update the windows image used
Jordan Petridis [Fri, 22 Nov 2019 13:44:56 +0000 (15:44 +0200)]
docker/windows: update the version of various deps we install
Jordan Petridis [Thu, 21 Nov 2019 14:21:50 +0000 (16:21 +0200)]
ci_template: skip unnecessary jobs for gst-integration-testsuites
Close #42
Jordan Petridis [Tue, 19 Nov 2019 13:47:38 +0000 (15:47 +0200)]
ci_template: set the TIMEOUT_FACTOR of gst-validate-launcher to 2
We have lots of tests that timeout on the CI due to a high load
of jobs on the CI runners. Let's try giving them a bit more time
and see how its going.
Nirbheek Chauhan [Sun, 10 Nov 2019 09:56:48 +0000 (15:26 +0530)]
ci_template.yml: Use the new docker cerbero-fedora image
This has nasm temporarily added in it using
https://gitlab.freedesktop.org/gstreamer/gst-ci/merge_requests/179
Nirbheek Chauhan [Sat, 9 Nov 2019 22:57:14 +0000 (04:27 +0530)]
docker/cerbero: Temporarily add nasm to the system setup
We will later install it as part of the cerbero bootstrap step when
generating the image after
https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/320 is
merged.
Jordan Petridis [Thu, 7 Nov 2019 10:51:29 +0000 (11:51 +0100)]
citemplate: Tag test jobs to only run on the dedicated runners
Avoid spreading the jobs on lower power runners which ends
up trippling the execution time of the testsuites and/or timing out.
Thibault Saunier [Mon, 12 Aug 2019 21:17:03 +0000 (17:17 -0400)]
docker: Stop using mdv and use bat to colorize markdown
Thibault Saunier [Mon, 12 Aug 2019 21:15:47 +0000 (17:15 -0400)]
Revert "gitlab: Set COLUMNS and width variable to make terminal_markdown_view happy"
This reverts commit
157f94fb62da7582fce90c85bf2338999d83b7cc.
Víctor Manuel Jáquez Leal [Fri, 25 Oct 2019 15:38:43 +0000 (17:38 +0200)]
ci_template: remove gstreamer-vaapi control in test tag
Since now gstreamer-vaapi is blacklisted in
validate (https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/134)
there is no need to make exceptions in the CI. This patch removes
those exceptions.
Jordan Petridis [Thu, 24 Oct 2019 12:13:03 +0000 (15:13 +0300)]
ci_template: refresh the docker images used for the CI
Jordan Petridis [Fri, 9 Aug 2019 10:27:37 +0000 (13:27 +0300)]
ci_template: update the fedora image to a newer build
Among other things, it includes the wpe dependencies !148 and
glslc !145
U. Artie Eoff [Wed, 9 Oct 2019 15:37:01 +0000 (08:37 -0700)]
ci_template: avoid check.gstreamer-vaapi
Check tests are being added to gstreamer/gstreamer-vaapi!181.
However, gstreamer-vaapi inherently requires specific hardware
drivers and platforms to function. The CI does not provide this
level of driver/platform selection. Thus, avoid running any
check tests in gstreamer-vaapi.
Jordan Petridis [Wed, 11 Sep 2019 14:39:14 +0000 (17:39 +0300)]
ci_template: Add an auto-retry policy
Its common that docker will throw transient errors, especially
on the windows runner. If such the case, automatically retry
the job.
Matthew Waters [Tue, 24 Sep 2019 02:39:11 +0000 (12:39 +1000)]
Revert "docker/cerbero/fedora install openssl-devel libraries"
This reverts commit
4a8beec41044e21ffeec73b7e58d0afaf112e689.
Matthew Waters [Thu, 19 Sep 2019 15:47:52 +0000 (01:47 +1000)]
gitlab: update cerbero docker image used
Matthew Waters [Tue, 24 Sep 2019 01:33:46 +0000 (11:33 +1000)]
docker/cerbero/fedora install openssl-devel libraries
Temporary workaround until cerbero installs the library itself
Jordan Petridis [Mon, 9 Sep 2019 13:01:08 +0000 (16:01 +0300)]
docker: improve logging of the setup scripts
Jordan Petridis [Wed, 11 Sep 2019 14:41:06 +0000 (17:41 +0300)]
docker/fedora: install debuginfo for python3-libs as well
Jordan Petridis [Thu, 5 Sep 2019 19:53:20 +0000 (22:53 +0300)]
.gitlab-ci.yml: Rename the UID variable in the docker build job
UID is a read-only protected variable in bash 5.0+
Jordan Petridis [Wed, 11 Sep 2019 13:50:27 +0000 (16:50 +0300)]
.gitlab-ci.yml: export artifacts for the fedora build job
20f5d7d646e7c941d71bb7264a9ba6b868982be3 stopped exporting artifacts
from the .build template which broke the local jobs since they
no longer exported the builddir.
Jordan Petridis [Fri, 6 Sep 2019 15:22:55 +0000 (18:22 +0300)]
fedora/docker: remove the fedora openh264 package
The cisco repository has been problematic for a while causing
dnf to error due to some gpg issue and break the pipe in non-interactive
ttys.
```
Importing GPG key 0xCFC659B9:
Userid : "Fedora (30) <fedora-30-primary@fedoraproject.org>"
Fingerprint: F1D8 EC98 F241 AAF2 0DF6 9420 EF3C 111F CFC6 59B9
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-30-x86_64
The command '/bin/sh -c /usr/bin/sh /root/prepare.sh && /usr/bin/sh /root/cleanup.sh' returned a non-zero code: 141
```
https://gitlab.freedesktop.org/gstreamer/gst-ci/-/jobs/573870
We do have a meson subproject for openh264 nowdays in gst-build
and it will get enabled automatically once the distro package
is no longer there.
Matthew Waters [Thu, 12 Sep 2019 03:05:37 +0000 (13:05 +1000)]
gitlab: build the ios examples in the cerbero repository
Nirbheek Chauhan [Wed, 11 Sep 2019 07:45:21 +0000 (13:15 +0530)]
gitlab: Rename all cross jobs to have a cross- prefix
For consistency, and to differentiate, f.ex., cross-windows jobs from
native windows jobs.
Nirbheek Chauhan [Tue, 10 Sep 2019 09:08:18 +0000 (14:38 +0530)]
gitlab: Windows Cerbero jobs are cross
Change the name to avoid confusion.
Matthew Waters [Tue, 10 Sep 2019 07:45:17 +0000 (17:45 +1000)]
gitlab: remove needs from ios examples job
needs and manual jobs do not really get along
https://gitlab.com/gitlab-org/gitlab-ce/issues/66602
Matthew Waters [Wed, 28 Aug 2019 16:00:28 +0000 (02:00 +1000)]
gitlab: add ios app build testing
Edward Hervey [Thu, 5 Sep 2019 15:25:37 +0000 (17:25 +0200)]
docker: Upgrade cerbero image to use fedora 30
Jordan Petridis [Fri, 9 Aug 2019 11:31:07 +0000 (14:31 +0300)]
ci_template: Only export artifacts for the main fedora build job
We are only using the builddir of the main fedora job to run
tests, the rest where exported by accident. Its especially
problematic cause static build eat a bunch of space and take
an eternity to be uploaded.
Part of #32
Thibault Saunier [Tue, 27 Aug 2019 23:30:49 +0000 (19:30 -0400)]
ci: Cleanup gst-docs build
Make sure to build against the plain fedora build and avoid
building useless things when inside gst-docs
Víctor Manuel Jáquez Leal [Thu, 29 Aug 2019 11:23:51 +0000 (13:23 +0200)]
gitlab: no need of vaapi nor omx on windows builds
Matthew Waters [Fri, 30 Aug 2019 01:57:06 +0000 (11:57 +1000)]
gitlab: enable werror for macos builds
Matthew Waters [Mon, 26 Aug 2019 07:46:28 +0000 (17:46 +1000)]
gitlab: enable werror for android universal builds
Matthew Waters [Mon, 26 Aug 2019 10:57:16 +0000 (20:57 +1000)]
gitlab: add a clang gst-build job
Matthew Waters [Tue, 27 Aug 2019 11:26:28 +0000 (21:26 +1000)]
gitlab: use the new needs yaml key
Allows implementing a DAG where a dependant job can be built before the
entirety of the previous stage has completed.
Matthew Waters [Mon, 26 Aug 2019 11:56:40 +0000 (21:56 +1000)]
gitlab: renable gst-build werror after msvc CI merge
31cec0a2459b38ae64d8bbb3f2060d2d86f8f86f removed --werror from the
default meson args but did not add it back in all the correct places
Jordan Petridis [Mon, 1 Jul 2019 15:55:46 +0000 (18:55 +0300)]
docker/windows: refactorings to get it to work with the new runner
* Install git-lfs as its required now by gst-integration-suites
* Clone gst-build eache time to avoid dated gst-build checkouts
and overwritting .wrap files. Similar to !137
* Split the dockerfile and add a second run stage refresh the
powershell env inbetween calls
* Remove the msys2 workaround as its not needed anymore
Xavier Claessens [Sun, 25 Nov 2018 18:38:06 +0000 (13:38 -0500)]
Add Windows MSVC and MSYS2 builds
This adds 3 new jobs that build against msys2 x86_64, msvc 2017 x86
and msvc 2017 x86_64. For the msvc build, some subprojects (like libnice)
don't satisfy all their deps, and are getting automatically disabled.
This doesn't add jobs that run the test suite also. Will hopefully
get implemented later on.
Xavier Claessens [Sun, 25 Nov 2018 18:35:54 +0000 (13:35 -0500)]
Do not specify the compiler to use
Meson will autodetect ccache when available, and we don't always have
gcc available (upcoming MSVC job).
Thibault Saunier [Fri, 9 Aug 2019 15:36:00 +0000 (11:36 -0400)]
gitlab: Set COLUMNS and width variable to make terminal_markdown_view happy
Philippe Normand [Tue, 6 Aug 2019 10:06:46 +0000 (11:06 +0100)]
docker/fedora: Enable WPEWebKit support
These dependencies should enable the WPE plugin build in -bad.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/839
Thibault Saunier [Wed, 7 Aug 2019 16:40:27 +0000 (12:40 -0400)]
Move to Fedora 30
Jordan Petridis [Mon, 15 Jul 2019 09:06:38 +0000 (12:06 +0300)]
docker/fedora: avoid hardcoding the fedora version in the setup script
Matthew Waters [Fri, 5 Jul 2019 03:19:41 +0000 (13:19 +1000)]
docker/fedora: add glslc to the install list
Enables building the vulkan plugin with shaders
Matthew Waters [Fri, 14 Jun 2019 10:59:19 +0000 (20:59 +1000)]
gitlab/cerbero: use the correct branch on fetch-cache
Matthew Waters [Sun, 16 Jun 2019 03:51:39 +0000 (13:51 +1000)]
gitlab: make non-cerbero iOS build manual