Commit graph

527 commits

Author SHA1 Message Date
Nicolas Dufresne
808fc283f3 manifest: Build useful error message
This helps detecting issue with optional steps like cerbero deps
lookup.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/348>
2020-09-21 11:57:26 -04:00
Nirbheek Chauhan
705e375893 Revert "cerbero ci: Also disable the deps build"
This reverts commit 555c49f9d1.

The job is working fine now and takes slightly more time than the iOS
build, so it can be re-enabled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/347>
2020-09-21 19:33:17 +05:30
Nirbheek Chauhan
eed018920c cerbero ci: Sprinkle some 'time' commands in the script
Sprinkle some 'time' commands so we can measure how long things take
and we can know where to spend time optimizing first.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/346>
2020-09-19 12:00:15 +05:30
Nirbheek Chauhan
01c53ebf02 ci: Switch cerbero script URL back to gst-ci master
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/345>
2020-09-18 01:44:26 +05:30
Nirbheek Chauhan
555c49f9d1 cerbero ci: Also disable the deps build
There seems to be some issues uploading the cache from the Windows
runner.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/344>
2020-09-18 00:02:27 +05:30
Nirbheek Chauhan
dab27ee564 cerbero ci: Try to fix deps build on the gstreamer namespace
Can't ln twice: it does a cp on MSYS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/344>
2020-09-17 23:23:02 +05:30
Nirbheek Chauhan
f24e7b721a cerbero ci: Don't expand the ssh private key
Because of set -x we were printing the key into the CI logs:
https://gitlab.freedesktop.org/gstreamer/cerbero/-/jobs/4572836#L797

Don't ever expand the variable in shell.
2020-09-17 23:18:30 +05:30
Nirbheek Chauhan
bdbec90a49 Switch MSVC job to manual till we can upload deps cache
The deps cache job is failing:

https://gitlab.freedesktop.org/gstreamer/cerbero/-/jobs/4568410

Because of which MRs in other repos are unable to download the cache
and are building everything from scratch, which is inflating CI times
to 2 hours:

https://gitlab.freedesktop.org/marian/gst-plugins-bad/-/jobs/4567025

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/343>
2020-09-17 16:58:07 +05:30
Jordan Petridis
260935e39e citemplate: post-merge fix for url path
switch it so it looks at the stable branch for the cerbero_setup
script.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/342>
2020-09-17 02:14:55 +03:00
Jordan Petridis
b857a5ada1 citemplate: add initial cerbero msvc builds
This commit adds the last bits needed to have a working
CI job of cerbero using mingw and msvc17 toolchain.

It adds a new stage to the docker image that mirrors
the setup of the cerbero fedora docker build, and
tweaks the cerbero_setup script run by jobs with
a couple windows specific fixes.

Close #39

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/334>
2020-09-16 20:56:14 +03:00
Jordan Petridis
6ffc323ff5 gitlab/cerbero_setup.sh: refactor some tests to if/else statments
and replace the ccache check

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/329>
2020-09-15 16:42:58 +00:00
Jordan Petridis
7d46f1ac5e ci_template: move the cerbero scripts from yaml to a new file
Its hard to manage ever growing bash scripts in yaml, and
its even harder to run them locally to reproduce the environment.

This is essentially a copy-paste of the scripts, to make review
easier. We can refactor later.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/329>
2020-09-15 16:42:58 +00:00
Jordan Petridis
050aec524b citemplate: workaround stale subproject cache
The revision of the wrap for pygobject was switched recently [1]

[1]: https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/189

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/339>
2020-09-15 17:24:32 +03:00
Jordan Petridis
fd7b78a918 docker/fedora: install more debug symbols
These are needed for the webrtcbin tests

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/339>
2020-09-15 16:24:51 +03:00
Jordan Petridis
894e72ee87 docker/windows: move the git user config outside the script
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/333>
2020-09-14 17:36:54 +00:00
Jordan Petridis
800c46e67c docker/windows: tweak installation of git
Make sure we set autocrlf to false, which is needed by cerbero.
Additionally remove useless for the container integrations with
the shell.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/333>
2020-09-14 17:36:54 +00:00
Jordan Petridis
0f50f3901e cerbero/fedora: install which into the image
We used to get this as transient dependency it seems,
which broke rebuilds of the img once w/e pkg was
depending on it, stopped.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/338>
2020-09-10 01:01:30 +03:00
Jordan Petridis
58df3e6f58 citemplate: update the buildah bootstrap image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/338>
2020-09-09 17:35:25 +03:00
Jordan Petridis
dd43637fce ci_template: correctly spell the global var
Close #83

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/337>
2020-09-09 16:05:00 +03:00
Jordan Petridis
2a3589dc2d citemplate: rework gitlab rules
Rework rules of jobs to prever duplicate pipelines.

https://docs.gitlab.com/ce/ci/yaml/README.html#prevent-duplicate-pipelines

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/331>
2020-08-27 15:39:35 +03:00
Jordan Petridis
524a75e6ff ci_template: remove rules from the docker build
We can run the jobs always automatically since, most of the
time they will be copying/reffing the existance image in the
registry.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/331>
2020-08-27 15:35:12 +03:00
Nirbheek Chauhan
159e0e8134 citemplate: Allow spaces in filenames when indenting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/328>
2020-08-06 01:34:18 +05:30
Tim-Philipp Müller
1ab716b71d citemplate: add support for .indentignore file to indent job
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1465

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/328>
2020-08-05 00:32:17 +01:00
Jordan Petridis
91c85b7ca9 citemplate: skip integration testsuites for gstreamer-sharp
Close #80

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/326>
2020-07-26 12:25:55 +00:00
Jordan Petridis
c44f415a4b citemplate: make it so docker builds only run for detached pipelines
Currently, if you have a MR open, there 2 pipelines being
triggered. One normal, and one detached.

Previously, if you were to rebuild an image, the jobs of the
docker build stage would be executed concurrently, race
and end up both rebuilding the image.

Make them manual for normal pipelines to avoid such occurrence
and waste of resources.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/320>
2020-07-26 09:57:43 +00:00
Jordan Petridis
fe54d6d8cd citemplate: properly pin the image of the docs job
we don't need the image to be copied or rebuilt, as
its currently pinned shortly and won't change anytime soon.

ammends dc48666742 !324

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/325>
2020-07-24 18:54:50 +03:00
Jordan Petridis
dc48666742 citemplate: revert the docs job to the previous image build
The update to f31 from !271 triggered an error in hotdoc it seems,
so rollback for now till we figure it out.

https://gitlab.freedesktop.org/gdesmott/gst-plugins-base/-/jobs/3764215

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/324>
2020-07-23 15:19:46 +03:00
Jordan Petridis
a892850eb2 docker/fedora: update base to fedora 31
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/271>
2020-07-23 06:58:10 +00:00
Nirbheek Chauhan
af11a2cd52 gitlab: Support android tarballs compressed with xz
Needed for
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/540.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/322>
2020-07-11 01:28:37 +05:30
Mathieu Duponchelle
13c2d964da gitlab: update hotdoc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/321>
2020-07-10 01:09:26 +02:00
Jordan Petridis
4fd36e5d73 docker/fedora: add gtest to get openh264 to build again
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/315>
2020-07-03 16:38:46 +03:00
Matthew Waters
3f6395c2e9 gst-build: only enable werror for gst recipes
It may throws various warning that are treated as errors for other
repositories

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/171>
2020-07-03 15:20:30 +03:00
Jordan Petridis
a5135b1596 citemplate: use the default keyword for our global policy
It was introduced in a recentish release along with pipelines
for merge requests, but it required the use of rules.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/318>
2020-07-03 09:47:27 +00:00
Jordan Petridis
d57693328b citemplate: avoid the need to upgrade buildah in docker build
We only need the newer version from the image, to support
the --arch arg, but we don't really use it yet so we
could live without it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/318>
2020-07-03 09:47:27 +00:00
Jordan Petridis
f5569ad5dc citemplate: run check in gst-examples but not integration tests
gst-example contains tests for check but not integrations suite

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/318>
2020-07-03 09:47:27 +00:00
Jordan Petridis
e18eb064c1 citemplate: run the docs job in more modules
Needed to catch regressions in the docs cache files.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/318>
2020-07-03 09:47:27 +00:00
Jordan Petridis
efdb7c545c citemplate: slightly improve logging of docker build jobs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/318>
2020-07-03 09:47:27 +00:00
Guillaume Desmottes
dbc4ca1b2f ci: use gst-indent from docker image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/318>
2020-07-03 09:47:27 +00:00
Thibault Saunier
b6ccc2169f gitlab: Update hotdoc 2020-07-02 18:09:32 +02:00
Mathieu Duponchelle
51d0c73074 ci_template: update hotdoc 2020-07-01 19:02:38 +02:00
Nirbheek Chauhan
70f6af0e81 msys2: Fix pacman update
Match the official steps by MSYS2 upstream for updating on CI:

https://github.com/msys2/setup-msys2/blob/master/main.js#L98

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/317>
2020-06-30 18:17:07 +05:30
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
e73ced3676 .gitlab-ci.yml: kill local jobs
The idea behind local jobs was that you would have jobs that
share the same setup as the citemplate ones but would always
be pointing to your forked registry with your custom build of
the image, since the citemplate hardcoded the image it was
running against.

With the changes introduced in the previous commit
we now mirror the setup from freedesktop/ci-templates and 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.

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
Jordan Petridis
c731fab0ca image_builds: simplify the tags
We can use docker labels to pass the metadata we want
and make the tag simpoler.

also small fixup, make it so buildah it uses chroot isolation
and update the base image

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