Commit graph

374 commits

Author SHA1 Message Date
Jordan Petridis 8c066ec01f citempalte: fix string comparitson in rules
When quoting in rules it takes the string as literal and doesn't
expand the variable

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/353>
2020-09-28 04:59:07 +00:00
Nirbheek Chauhan ab8e884e1b Revert "Switch MSVC job to manual till we can upload deps cache"
This reverts commit bdbec90a49.

Everything seems to be working fine.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/352>
2020-09-24 05:37:53 +05:30
Nirbheek Chauhan 37bdeb200a Revert "cerbero ci: Actually use the new cerbero_setup.sh script"
This reverts commit ef981bafc9.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/352>
2020-09-24 05:37:46 +05:30
Nirbheek Chauhan 6208a61946 cerbero ci: Add hacks for build tools
Instead of putting a hammer-like symlink to ../../gstreamer/cerbero,
do recipe-specific relocation hacks. Fixes random errors like:

```
++ ln -sf /builds/nirbheek/cerbero ../../gstreamer/cerbero
ln: ../../gstreamer/cerbero/cerbero: cannot overwrite directory
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>
2020-09-23 12:50:16 +05:30
Nirbheek Chauhan 98e3c7d8b8 cerbero ci: Refactor cerbero_before_script
We were doing a few things suboptimally:

1. Making a symlink from the current directory to
   ../../gstreamer/cerbero so that build-tools kept working, which
   should not be necessary since cerbero relocates all binaries inside
   the cerbero homedir after extracting the cache.

2. Hard-coding the cerbero builddir when building on Windows because
   `pwd` was outputting an MSYS-style path which Python can't read

3. rsync-ing all the contents of $CERBERO_HOST_DIR, which is
   bad because we should be building on top of the artifact cache.
   The only thing we want from $CERBERO_HOST_DIR is cerbero-sources
   (the network cache), and we can setup the toolchain during
   bootstrap with the new --system and --toolchains arguments which
   were split out of --system-only.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>
2020-09-22 21:58:59 +05:30
Nirbheek Chauhan ef981bafc9 cerbero ci: Actually use the new cerbero_setup.sh script
Revert after merging.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>
2020-09-22 18:41:39 +05:30
Nirbheek Chauhan 0c7275212a manifest: Check all deps logs when picking cerbero commit
Instead of picking the 'slowest build', look at all the deps logs and
pick the commit that is mentioned in the maximum number of deps logs.

In practice, this will either be the newest commit or the previous
commit. If it's not the newest commit, we will warn and use an older
one.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/349>
2020-09-22 16:59:48 +05:30
Jordan Petridis 386e40c22e citemplate: set PYTHONFAULTHANDLER for tests
In case python segfaults, which might happen for things with
a C-FFI like pygobject, make it so we get a proper backtrace.

https://docs.python.org/3/using/cmdline.html#envvar-PYTHONFAULTHANDLER

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/341>
2020-09-22 08:15:19 +00:00
Nicolas Dufresne dec76861ea manifest: Fix URL for cerbero deps log
There was a missing 'f' prefix, so the {branch} was not expanded.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/348>
2020-09-21 11:57:59 -04:00
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 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