Commit graph

326 commits

Author SHA1 Message Date
Jordan Petridis
e94919137c citemplate: check if the gitlab registry is enabled on the fork
If its not CI_REGISTRY_IMAGE will be null and break the job.
Instead paste a helpful message with the documentation on how
to enable the registry.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/316>
2020-06-30 00:12:45 +03:00
Jordan Petridis
41e979e1e4 citemplate: remove tag restriction for docker builds jobs
There isn't anything particular that needs to be on the gstreamer
runners, and the other shared runners should be able to handle
them fine.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/314>
2020-06-29 15:43:31 +00:00
Guillaume Desmottes
0a085866ae docker: move gst-indent script into docker image
This script is now very stable, so downloading it everytime is no longer useful.
It can also helps avoid network errors when running ci jobs.

Fix #70

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/306>
2020-06-29 17:12:00 +03:00
Jordan Petridis
5c490de1bd citemplate: also check the forked registry for image builds
In case you are developing a set of changes in a module, in
conjunction with a branch in gst-ci, you will end up with
a template with a different tag than the upstream repo, which
will be refferencing your gst-ci forked registry.

But that image won't existin in the namespace the
module would be running at, so we need to copy it from there.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/308>
2020-06-26 12:14:28 +00:00
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