Commit graph

563 commits

Author SHA1 Message Date
Jordan Petridis
dbf14146b9 citemplate: use meson 0.56 and suproject update --reset
The windows build will be updated in a later
commit.

Close #73 #74 #75

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/375>
2021-01-27 13:15:07 +00:00
Jordan Petridis
8aa80fb714 citemplate: only spawn a single pipeline in Merge Requests
This is the 3rd or 4th time we are trying this yes, (!331),
but hear me out. This time is for Real!

Jokes aside, its possible to avoid spawning >1 pipeline per event
with gitlab 13.8.

https://gitlab.com/gitlab-org/gitlab/-/issues/201845

https://gitlab.com/gitlab-org/gitlab/-/issues/299409

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/391>
2021-01-26 08:54:44 +02:00
Matthew Waters
08cdfca671 gitlab: update macos/ios tags for newer vm image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/389>
2021-01-15 23:29:33 +11:00
Jordan Petridis
3ec559700a ci_template: remove artifacts workaround for cerbero msvc
This was fixed 3 weeks ago and should no longer be needed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/387>
2021-01-06 20:48:41 +02:00
Jordan Petridis
4afcde9c60 ci_template: re-enable the extraction of logs for windows jobs
Most of the networking issues with the runner should be fixed now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/385>
2020-12-23 04:46:19 +02:00
Stéphane Cerveau
3822c33704 gstreamer-full: enable features unit test
As gst-build can select features to be exposed by
gstreamer-full, the test will check that feature
are present or not present according to the current
configuration.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/381>
2020-12-10 12:51:32 +01:00
Jordan Petridis
d4e55b655c
Revert "ci: check commit using ci-fairy"
This reverts commit 12c1689aaa.

Revert ci-fairy check-commits job for now as it seems a bit
buggy. It picks up commits that are not part of the branch
and breaks the CI.

Will investigate further and reintroduce it later.
2020-12-02 12:38:57 +02:00
Jordan Petridis
38c16db9ba ci_template: job to complain about allow-edit
Make sure merge requests have enabled the "allow-edit"
option in the MR so we can rebase them.

Close gstreamer/gstreamer-project#34

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/304>
2020-11-27 03:05:11 +02:00
Guillaume Desmottes
12c1689aaa ci: check commit using ci-fairy
See https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#checking-commits

In this setup it will check for any leftover fixup!/squash! commits and
that messages don't have the 'Signed-off-by:' tag.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/304>
2020-11-27 02:49:30 +02:00
Jordan Petridis
e8d4d1f3ad citemplate: build devtools for windows builds
explicitly enable the cairo plugin build as well

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/377>
2020-11-16 13:41:46 +00:00
Jordan Petridis
34dec61d86
Revert "cerbero: Never use cached cerbero git repo"
This reverts commit c3b5693736.

This broke the build and needs further investigation

https://gitlab.freedesktop.org/gstreamer/gst-ci/-/jobs/5630095
2020-11-16 15:41:03 +02:00
Nirbheek Chauhan
c3b5693736 cerbero: Never use cached cerbero git repo
Sometimes the git repo cached on the docker image gets corrupted on
Windows, in which case there is no way to clean things and resolve
that error. For example: https://gitlab.freedesktop.org/bilboed/gst-plugins-bad/-/jobs/5517037

```
++ cp -a C:/cerbero/.git .
cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.idx': Permission denied
cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.pack': Permission denied
```

Always delete the cached git repo and copy a pristine copy from the
image. This will also avoid accumulation of garbage in the git repo.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/376>
2020-11-12 14:04:47 +05:30
Jordan Petridis
aead7b4eb7 citemplate: remove fdo.expires-after label
This is meant to be used for containers that are going
to be periodically rebuilt. For our usecase specifying
`fdo.upstream-repo` is enough to garbage collect all
the tags from the forks.

We also need to rebuild the images, so they don't have
include the label anymore.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/368>
2020-10-22 16:10:32 +03:00
Jordan Petridis
3b59f3ebcb docker/cerbero: remove bootstrap invocation
`bootstrap --build-tools=no --toolchains=no` now do nothing, and
just repeat what the bootstrap line above does which is to only
run the system bootstraper

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/368>
2020-10-22 16:09:38 +03:00
Jordan Petridis
5dc5de2396 citemplate: tweak merge-request rules
With the MergeRequest rules template, its was impossible
to manually create or trigger a pipeline for a branch/commit
that was not part of a merge request.

This tweaks the workflow:rules such that there will always be
a pipeline for each commit (which will be set to a manual job trigger).

There is the downside that we will now be triggering 2 pipelines in
case of merge requests, but they will require manual action to be
started.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/369>
2020-10-16 19:32:59 +03:00
Stéphane Cerveau
75129af3b4 gstreamer-full: enable unit test
Run test-gst-full in gstreamer-full job

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/365>
2020-10-12 16:05:14 +02:00
Jordan Petridis
2cf083373b fedora: rebuild image so it includes a newer subproject cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/364>
2020-10-09 12:14:32 +03:00
Jordan Petridis
ad370fecef ci_template: try to enable merge-request pipelines again
Gitlab was slightly bugged in previous version, and we
had to use branch-only pipelines. Let's try this again.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/363>
2020-10-08 15:47:51 +03:00
Xavier Claessens
24db2ef9e7 Enable pango plugin on Windows
This tests that all fallbacks works to get pango plugin built with no
system dependencies available.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/360>
2020-10-06 10:15:15 +00:00
Jordan Petridis
ea155d7925 Revert "citemplate: Actually use the new cerbero_setup.sh script"
This reverts commit 19d7ff5342
2020-10-04 13:30:46 +00:00
Nirbheek Chauhan
19d7ff5342 citemplate: Actually use the new cerbero_setup.sh script
Revert me after merge.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/361>
2020-10-02 22:41:48 +05:30
Nirbheek Chauhan
434d570528 citemplate: Consistent naming for cerbero_setup.sh script
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/361>
2020-10-02 22:41:43 +05:30
Nirbheek Chauhan
42696e1654 cerbero ci: Make before_script wiping more thorough
Will avoid packaging errors due to the old package file still being
around from a previous job, such as in:

https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/4804147

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/361>
2020-10-02 22:27:11 +05:30
Jordan Petridis
a26129c78c windows: rebuild docker image
also:

Revert "citemplate: set the cerbero msvc build to allow_failure again"

This reverts commit 3dddfacfbf.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/359>
2020-10-01 11:51:19 +03:00
Nirbheek Chauhan
b8e112ed74 cerbero ci: Wipe in before_script because gitlab doesn't
Noticed in this job, which failed because we rebuilt on top of an
existing builddir:

https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/4772728

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/358>
2020-10-01 10:00:49 +05:30
Jordan Petridis
3dddfacfbf citemplate: set the cerbero msvc build to allow_failure again
Very weird things going on..

```
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 8608: character maps to <undefined>
```

https://gitlab.freedesktop.org/Hosang/gst-plugins-bad/-/jobs/4731636

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/356>
2020-09-29 18:07:06 +03:00
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
a22f4d85a3 docker/cerbero: Do not remove toolchain downloads
We will use these when running bootstrap in the actual jobs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>
2020-09-23 14:18:57 +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