Commit graph

262 commits

Author SHA1 Message Date
Nirbheek Chauhan
3608d69c1f gitlab/cerbero: Use new prefix for jobs built with MinGW 2020-03-05 08:39:17 +00:00
Xavier Claessens
28881dddb4 Add integration test for gstreamer-full-1.0 2020-03-04 18:50:21 +00:00
Nirbheek Chauhan
7d31018ce9 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
```
2020-03-04 14:33:16 +00:00
Matthew Waters
fbd1eb9283 cerbero-android: don't upload the '-runtime' package
It's useless for android
2020-03-04 11:46:50 +11:00
Jordan Petridis
c7466e2edc 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
2020-02-27 08:50:24 +00:00
Thibault Saunier
a73a597f12 gitlab: Run ges valgrind tests on devtools changes
We have validate 'unit test' there
2020-02-26 11:09:03 +00:00
Jordan Petridis
28633f2fcf
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
2020-02-25 14:55:45 +02:00
Guillaume Desmottes
ad25b174a4 gitlab: update fedora image
Update to meson 0.53.1
2020-02-24 12:01:53 +05:30
Jordan Petridis
f7a83c65ab
ci_template: update the docker image versions 2020-02-10 13:53:27 +02:00
Guillaume Desmottes
3aa542dfb8 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.
2020-02-07 09:44:32 +05:30
Guillaume Desmottes
2f40cb1418 gitlab: update fedora image 2020-02-06 16:37:54 +05:30
Nirbheek Chauhan
eeaa92fac5 gitlab/cerbero: Run gst-inspect on the built binaries
Using the latest cerbero image to get Wine for cross-win32|64.
2020-02-04 01:49:32 +05:30
Jordan Petridis
ad6f4df17f ci_template.yml: Update the windows image version 2020-01-29 17:39:46 +00:00
Guillaume Desmottes
8ea2989e0b gitlab: run gst-plugins-rs tests
Fix #46
2020-01-24 11:58:02 +05:30
Guillaume Desmottes
44f421e9e5 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
2020-01-24 11:31:29 +05:30
Guillaume Desmottes
7fb6c56784 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.
2020-01-17 12:52:03 +05:30
Nicolas Dufresne
9e7b8f9392 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.
2020-01-15 10:10:28 -05:00
Guillaume Desmottes
b9c68041b2 gitlab: cache CARGO_HOME in shared cache 2020-01-15 15:10:10 +05:30
Guillaume Desmottes
8e1b1c43c7 gitlab: enable gst-plugins-rs in build fedora jobs 2020-01-13 09:15:11 +05:30
Guillaume Desmottes
5fc211d107 gitlab: don't run gst-plugins-rs tests
They are not working with CI atm, see #46
2020-01-13 09:15:11 +05:30
Guillaume Desmottes
f46a0d33c0 gitlab: build gst-omx with zynq as target
Build just the minimum to be able to build gst-omx with this specific
target.
2020-01-08 10:03:02 +00:00
Guillaume Desmottes
e41650913e gitlab: disable most jobs for gst-plugins-rs
No need to run jobs which are not building gst-plugins-rs.
2020-01-02 14:03:26 +05:30
Nirbheek Chauhan
d0fbcac3df 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.
2019-12-25 17:11:17 +05:30
Guillaume Desmottes
d175858bad gitlab: update Fedora image
Include Rust environnement fix.
2019-12-23 14:24:17 +05:30
Guillaume Desmottes
2976046506 gitlab: update fedora image
Use image with Rust.
2019-12-20 15:45:17 +05:30
Xavier Claessens
511ffe9fa1 Update fedora image 2019-12-18 13:47:01 -05:00
Jordan Petridis
51ff579cec
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.
2019-12-11 17:55:59 +02:00
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
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
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
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
62ec9173e6 gitlab: update cerbero docker image used 2019-09-24 12:55:54 +10:00