Commit graph

495 commits

Author SHA1 Message Date
Matthew Waters
aa18f639b5 gitlab: enable ios builds by default
They are small enough now to not impact the overall running time of a CI
pipeline.
2019-12-06 00:53:24 +11:00
Tim-Philipp Müller
926fcc52b9 ci_template: bump timeout for msys2 job 2019-12-05 00:38:15 +00:00
Jordan Petridis
bc7f2feb5b
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
2019-12-05 00:59:34 +02:00
Jordan Petridis
5c0ad2facd
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.
2019-12-05 00:59:34 +02:00
Jordan Petridis
b3aa9b5286
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
2019-12-04 18:45:22 +02:00
Matthew Waters
9c7c52f5b9 gitlab: build cerbero android/ios for gst-docs examples 2019-12-03 10:37:16 +11:00
Jordan Petridis
626be8a012
ci_template: Increase the timeout of gst-builds more
Need to take into account I/O needed to upload artficats
and download docker images.
2019-12-03 00:53:02 +02:00
Jordan Petridis
d382cb0b75
ci_template: Bump the timeout limit from 10 to 15min for windows 2019-12-01 14:46:27 +02:00
Jordan Petridis
ae90b9a042 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
2019-11-28 14:47:13 +00:00
Jordan Petridis
be6d2b4cf2 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
2019-11-28 10:46:34 +00:00
Matthew Waters
d153e0d7ed update for macos 10.15 making / read-only
We've moved the host cached cerbero directory to /Users/gst-ci/cerbero
instead now.
2019-11-28 14:00:25 +11:00
Jordan Petridis
4b20b2dbb3 ci_template.yml: Update the windows image used 2019-11-26 17:42:14 +00:00
Jordan Petridis
2fadd6e3d0 docker/windows: update the version of various deps we install 2019-11-26 17:42:14 +00:00
Jordan Petridis
3b700eb09a
ci_template: skip unnecessary jobs for gst-integration-testsuites
Close #42
2019-11-22 16:03:52 +02:00
Jordan Petridis
d19360b37e
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.
2019-11-19 21:58:43 +02:00
Nirbheek Chauhan
6b48c9c003 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
2019-11-10 15:26:48 +05:30
Nirbheek Chauhan
4e93f92783 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.
2019-11-10 04:27:14 +05:30
Jordan Petridis
bd66c756ef
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.
2019-11-07 11:54:29 +01:00
Thibault Saunier
b0b76594c3 docker: Stop using mdv and use bat to colorize markdown 2019-11-06 15:43:11 +00:00
Thibault Saunier
c8d0102561 Revert "gitlab: Set COLUMNS and width variable to make terminal_markdown_view happy"
This reverts commit 157f94fb62.
2019-11-06 15:43:11 +00:00
Víctor Manuel Jáquez Leal
e8abe05e02 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.
2019-10-25 17:38:43 +02:00
Jordan Petridis
20c2bb8080
ci_template: refresh the docker images used for the CI 2019-10-24 15:13:03 +03:00
Jordan Petridis
2a5d767424 ci_template: update the fedora image to a newer build
Among other things, it includes the wpe dependencies !148 and
glslc !145
2019-10-22 13:44:35 +00:00
U. Artie Eoff
32e64c4ac3 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.
2019-10-09 08:37:20 -07:00
Jordan Petridis
92709d5542
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.
2019-09-24 08:19:44 +03:00
Matthew Waters
bcb1ae6cf2 Revert "docker/cerbero/fedora install openssl-devel libraries"
This reverts commit 4a8beec410.
2019-09-24 12:55:54 +10:00
Matthew Waters
62ec9173e6 gitlab: update cerbero docker image used 2019-09-24 12:55:54 +10:00
Matthew Waters
4a8beec410 docker/cerbero/fedora install openssl-devel libraries
Temporary workaround until cerbero installs the library itself
2019-09-24 11:40:08 +10:00
Jordan Petridis
e1d7b721e0 docker: improve logging of the setup scripts 2019-09-23 10:54:40 +00:00
Jordan Petridis
d08496b142 docker/fedora: install debuginfo for python3-libs as well 2019-09-23 10:54:40 +00:00
Jordan Petridis
1e063c8539 .gitlab-ci.yml: Rename the UID variable in the docker build job
UID is a read-only protected variable in bash 5.0+
2019-09-23 10:54:40 +00:00
Jordan Petridis
c98b4accb3 .gitlab-ci.yml: export artifacts for the fedora build job
20f5d7d646 stopped exporting artifacts
from the .build template which broke the local jobs since they
no longer exported the builddir.
2019-09-23 10:54:40 +00:00
Jordan Petridis
470b151620 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.
2019-09-23 10:54:40 +00:00
Matthew Waters
5acede7214 gitlab: build the ios examples in the cerbero repository 2019-09-13 10:48:04 +10:00
Nirbheek Chauhan
17fc9a66d4 gitlab: Rename all cross jobs to have a cross- prefix
For consistency, and to differentiate, f.ex., cross-windows jobs from
native windows jobs.
2019-09-11 13:32:56 +05:30
Nirbheek Chauhan
53abd5e8fd gitlab: Windows Cerbero jobs are cross
Change the name to avoid confusion.
2019-09-10 14:47:41 +05:30
Matthew Waters
ed5343d3ce 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
2019-09-10 17:45:17 +10:00
Matthew Waters
c6420d9164 gitlab: add ios app build testing 2019-09-08 22:48:18 +10:00
Edward Hervey
c732a9234c docker: Upgrade cerbero image to use fedora 30 2019-09-05 17:25:37 +02:00
Jordan Petridis
20f5d7d646
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
2019-09-02 14:52:35 +03:00
Thibault Saunier
6e39d68c4e ci: Cleanup gst-docs build
Make sure to build against the plain fedora build and avoid
building useless things when inside gst-docs
2019-08-30 09:09:39 -04:00
Víctor Manuel Jáquez Leal
11ff98a757 gitlab: no need of vaapi nor omx on windows builds 2019-08-30 12:26:06 +02:00
Matthew Waters
5a5f9dbb86 gitlab: enable werror for macos builds 2019-08-30 11:57:06 +10:00
Matthew Waters
ee61416998 gitlab: enable werror for android universal builds 2019-08-28 11:46:29 +00:00
Matthew Waters
1b48188e20 gitlab: add a clang gst-build job 2019-08-28 03:56:40 +00:00
Matthew Waters
a596162ab5 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.
2019-08-28 11:01:18 +10:00
Matthew Waters
e5228dc810 gitlab: renable gst-build werror after msvc CI merge
31cec0a245 removed --werror from the
default meson args but did not add it back in all the correct places
2019-08-26 21:58:24 +10:00
Jordan Petridis
072cf0122a 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
2019-08-16 17:17:01 +00:00
Xavier Claessens
31cec0a245 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.
2019-08-16 17:17:01 +00:00
Xavier Claessens
fd89f33d88 Do not specify the compiler to use
Meson will autodetect ccache when available, and we don't always have
gcc available (upcoming MSVC job).
2019-08-16 17:17:00 +00:00