Commit graph

422 commits

Author SHA1 Message Date
Jordan Petridis 3a004f7ca4 citemplate: use the fd.o pre existing buildah image to build containers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/308>
2020-06-26 12:14:28 +00:00
Jordan Petridis cece45eacb ci_template: merge docker builds into the normal pipeline
Port the build docker jobs to the template and integrate it into
the pipeline. Then change the image uris to the new system,
and the user forked registries.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/308>
2020-06-26 12:14:28 +00:00
Jordan Petridis fe959679b8 .gitlab-ci.yml: adapt the docker build jobs to be more like citemplates
This is the inital step towards migrating our docker images setup
to something closer and eventually freedesktop/citemplates [1]

The idea is that jobs always run from the registry in your fork. If the
image sha/id matches the one from the upstream registry, its copied
over else a new one is build, pushed and tested.

Only change the fedora job for now while testing.

[1]: https://gitlab.freedesktop.org/freedesktop/ci-templates

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/308>
2020-06-26 12:14:28 +00:00
Thibault Saunier 592124a46b gitlab: Update hotdoc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/312>
2020-06-25 19:05:19 -04:00
Thibault Saunier f9881240ae gitlab: Update hotdoc to 0.12.2
Adding Since markers check

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/310>
2020-06-23 18:03:04 -04:00
Thibault Saunier 78577cffaf ci: Update to hotdoc 2020-06-23 14:20:48 -04:00
Jordan Petridis 7beb52a6e0 citemplate: upate the cerbero image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/307>
2020-06-18 11:54:47 +03:00
Nicolas Dufresne f0eea49641 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>
2020-06-17 13:28:44 +00:00
Jordan Petridis 869fa72595 docker/windows: update msys snapshot
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/297>
2020-06-16 01:54:02 +05:30
Thibault Saunier e4ba926955 gitlab: Enforce documentation cache updates 2020-06-08 13:58:25 +00:00
Thibault Saunier 3a620ac384 ci: Update fedora image 2020-06-04 12:48:31 -04:00
Thibault Saunier d72551ddc4 gitlab: Update hotdoc to latest release 2020-06-04 12:34:15 -04:00
Mathieu Duponchelle 1f07629c3c ci_template: pin hotdoc to pre fundamental documentation 2020-06-04 17:56:00 +02:00
Mathieu Duponchelle 5455320869 ci_template: pin hotdoc to pre gst cache format change 2020-06-04 17:29:49 +02:00
Thibault Saunier 3839f8ab87 gitlab: Enable docs only when building the doc 2020-06-03 22:39:33 -04:00
Jordan Petridis dbe39079ee 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>
2020-06-02 11:13:09 +03:00
Thibault Saunier 929a611889 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>
2020-05-29 22:19:14 +00:00
Tim-Philipp Müller 92b78216d4 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>
2020-05-29 13:05:02 +01:00
Stéphane Cerveau 0928a89125 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>
2020-05-21 15:40:27 +02:00
Matthew Waters 95b35ceaf1 android: update to gradle 5.6.4 without --no-search-upwards
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/291>
2020-05-09 00:04:23 +10:00
Matthew Waters c23bdae050 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>
2020-05-09 00:04:17 +10:00
Jordan Petridis 6576f2f7b7 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>
2020-04-27 15:39:45 +03:00
Jordan Petridis 2f504610b3 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>
2020-04-23 16:59:24 +03:00
Jordan Petridis f546834e6c ci_template: enable the windows x86 and msys native jobs again
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/281>
2020-04-23 07:57:02 +00:00
Jordan Petridis b36d813f5b 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>
2020-04-22 09:23:18 +03:00
Nicolas Dufresne 95f9b25683 ci: Always allow redirect when using curl
This done by specifying -L parameter. Some of the FDO infrastructure is using
redirect.
2020-04-19 14:30:43 -04:00
Jordan Petridis 815976e4aa
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
2020-04-17 22:46:34 +03:00
Jordan Petridis 7676363645
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
2020-04-17 21:59:10 +03:00
Nicolas Dufresne 8cb3a84d97 Don't let marge run post-merge pipeline
This is a small regression from previous change.
2020-04-17 13:48:18 -04:00
Jordan Petridis 26c45d6ca3 clone_manifest_ref: add the ability to fetch instead of cloning the repo 2020-04-17 05:30:01 +00:00
Nicolas Dufresne d692406ab1 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.
2020-04-16 13:04:31 -04:00
Jordan Petridis 2871b293e1
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.
2020-04-10 21:57:45 +03:00
Jordan Petridis 42830e91f6
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 32c91139a4
2020-04-07 18:55:56 +03:00
Matthew Waters 45d4e8ebc0 Update cerbero and android docker images
Partial revert of 9ed6305e1f

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
2020-04-06 21:52:59 +10:00
Matthew Waters 9ed6305e1f docker/cerbero: checkout proposed ndk-21 cerbero branch 2020-04-06 11:50:21 +10:00
Nicolas Dufresne e137093def ci: Update to use new external storage for cerbero deps
The goal of this change is to reduce egress on the FDO servers.
2020-04-03 16:31:45 -04:00
Matthew Waters b00c68e69e gitlab: don't upload gst-build artifacts we never use 2020-04-02 23:42:41 +11:00
Matthew Waters 18f285f15c gitlab: compress deps using xz on master
Results in a better compression for artifacts that are going to be used
multiple times.
2020-03-31 13:30:22 +11:00
Nirbheek Chauhan 6c379762c2 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
2020-03-28 16:34:03 +05:30
Seungha Yang e0544b256f ci_template: Increase timeout of -good valgrind
splitmux unit test includes encoding task which might require more time
to finish test
2020-03-28 18:15:47 +09:00
Nirbheek Chauhan a5686ae478 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.
2020-03-27 20:54:28 +05:30
Nirbheek Chauhan 32c91139a4 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
2020-03-26 19:57:18 +05:30
Nirbheek Chauhan 3d06b08d49 gst-build: Always include meson-logs in the artifacts
Can't figure out build errors without this.
2020-03-26 18:56:38 +05:30
Nicolas Dufresne 8ba527416c 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>
2020-03-25 17:22:09 -04:00
Nicolas Dufresne 54d94f7444 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
2020-03-25 14:36:48 -04:00
Nicolas Dufresne 70ac883275 ci: Remove uneeded cerbero jobs from gst-docs CI 2020-03-25 14:00:20 -04:00
Nicolas Dufresne cf21e723e3 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.
2020-03-23 15:35:35 -04:00
Nicolas Dufresne a8941a8566 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
2020-03-18 09:45:31 -04:00
Guillaume Desmottes bbc624175d 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
2020-03-18 09:00:17 +01:00
Nicolas Dufresne 21584e4610 ci: Fix gstreamer-full job to run in gst-build
It was set to gst-omx by accident instead.
2020-03-17 21:38:34 -04:00
Nicolas Dufresne c02cb97dc2 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.
2020-03-17 21:27:09 -04:00
Nicolas Dufresne 45901ee69b 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.
2020-03-17 11:59:34 -04:00
Nicolas Dufresne ee77993ccd ci: Remove outdated commemt
We no longer use awk or cat int hat context.
2020-03-17 11:58:33 -04:00
Nicolas Dufresne 8b8f1e0dfe ci: Cleanup gst-omx from unneeded jobs 2020-03-17 09:37:00 -04:00
Nicolas Dufresne 2fca5b7981 Only run CI automatically on merge_request 2020-03-17 09:32:44 -04:00
Nicolas Dufresne f551f4a7be 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.
2020-03-17 09:32:44 -04:00
Nicolas Dufresne e12ea82a23 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.
2020-03-17 09:32:44 -04:00
Xavier Claessens b0eaeb69f3 gst-full: Only build 1 plugin and disable all artifacts
This is enough to validate that it works for now.

Fixes: #60
2020-03-16 21:01:06 -04:00
Jordan Petridis d8c5432793 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.
2020-03-10 12:25:46 +00:00
Guillaume Desmottes 604928a40b gitlab: build gst-omx with tizonia as target
Build just the minimum to be able to build gst-omx with this specific
target.
2020-03-10 03:48:14 +00:00
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
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
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
Thibault Saunier 157f94fb62 gitlab: Set COLUMNS and width variable to make terminal_markdown_view happy 2019-08-09 11:36:00 -04:00
Thibault Saunier 47d07c4899 Move to Fedora 30 2019-08-07 19:41:12 +00:00
Matthew Waters a774ea6ce9 gitlab/cerbero: use the correct branch on fetch-cache 2019-06-20 14:48:52 +10:00
Matthew Waters 545b023050 gitlab: make non-cerbero iOS build manual 2019-06-16 13:51:39 +10:00
Matthew Waters 7c344aeb17 Revert "CI: Disable build cerbero ios universal"
This reverts commit 34cb58f294.
2019-06-16 13:50:23 +10:00
Nicolas Dufresne 34cb58f294 CI: Disable build cerbero ios universal
This fails because the master CI of cerbero/ never passed with, as a
result an older cerbero is being used.

Related to #29
2019-06-15 16:49:49 -04:00
Matthew Waters 802dd4eb2b add iOS CI 2019-06-13 20:59:52 +10:00
Matthew Waters a9cd95f7ba gitlab: consolidate stages
This now optimizes for a successful build.
2019-06-13 06:08:01 +00:00
Matthew Waters f00192da0c gitlab: update android docker image to the latest 2019-06-13 01:00:04 +10:00
Matthew Waters 292f9a4250 gst-build: clone gst-build directly instead of relying on the docker version
The git-update that is performed attempts to update gst-build however
will not use the updated git-update script for further operations.  This
causes the CI to not use any updates to the git-update which is always
stuck on the version provided by the backing docker image.
2019-06-11 16:44:53 +10:00
Tim-Philipp Müller 142f24043d gitlab/ci_template: only run valgrind for MRs not master and stable branches
The valgrind runs are there to spot obvious problems during the dev phase,
not sure we really need to run them in full after each merge.

Should reduce load on the build bots a little.

If any problems slip in they will be picked up soon enough by
the MR jobs again.
2019-06-07 17:34:36 +00:00
Nicolas Dufresne 69656b287c gitlab: Update cerbero docker to the new MingW 2019-06-07 10:15:06 -04:00
Jordan Petridis 2cde4bef1e gitlab/build_manifest: allow for upstream branch to be specified
When the pipeline is based on top of a stable branch, we want
to track that branch isntead of the primary development branch.

This patch makes it so the upstream branch can be specified with
an env var.

part of #11
2019-06-05 22:51:04 +00:00
Nicolas Dufresne 24f24828d0 Revert "gitlab: build libnice as part of cerbero deps"
This reverts commit 478686faa7
2019-06-05 13:54:17 +00:00
Matthew Waters 478686faa7 gitlab: build libnice as part of cerbero deps
Building the same libnice from the same tarball every time is not
useful.
2019-06-05 16:15:12 +10:00
Matthew Waters bc44b55c4a gitlab-ci: move overriden dist dir copy to after cache fetch
Otherwise, the cache will not be copied to the overriden dist dir for
the normal fast builds.
2019-06-05 16:09:40 +10:00
Matthew Waters 326e3a5ac5 add macos CI 2019-06-04 04:29:49 +00:00
Nirbheek Chauhan 798945be7a gitlab: Add static builds for gst-build 2019-06-03 13:13:36 +00:00
Thibault Saunier 35be7d2b91 gitlab: Always run hotdoc from git
We are moving too fast in hotdoc and the overhead of
releasing and updating docker images is too big
2019-05-31 20:16:27 -04:00
Thibault Saunier a30652954c doc: Use latest image with update hotdoc 2019-05-29 11:14:40 -04:00
Jordan Petridis 274f183955
gitlab/ci_template: make sure that the fedora build job is never run on cerbero
We exclude cerbero in the .build template but that key
is getting overwritten since !126. Valgrind needs to be
fixed first in order to remove this and the previous
workarounds.
2019-05-24 18:32:16 +03:00
Jordan Petridis e6cf53329e
gitlab/build_manifest: add gst-sharp to the module list 2019-05-20 19:29:46 +03:00
Thibault Saunier 917ff85856 gitlab: Fix mixup in excepting gst-docs to build the nodebug job 2019-05-16 14:03:09 -04:00
Thibault Saunier 3c5db7d449 Add support to build the documentation
Since we can't run valgrind tests on fedora 30 yet (see
https://gitlab.freedesktop.org/gstreamer/gst-ci/merge_requests/125),
we build the nodebug variant with the F30 image and use the artifacts
of that build to build the documentation and not the main one.
2019-05-15 18:29:32 -04:00