Commit graph

574 commits

Author SHA1 Message Date
Stéphane Cerveau
38a1b04637 docker: fedora: add qt5 devel package.
add qt5 devel package to build qt plugin

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/400>
2021-03-30 10:27:33 +02:00
Jordan Petridis
8f8cd9ec4b ci_template: use older windows image for cerbero
Current windows image doesn't seem to be able to spawn procceses for reason,
use a different image until this is debuged

```
Running command 'c:/builds/alatiera/gst-ci/cerbero-build/build-tools/bin/meson --prefix=c:/builds/alatiera/gst-ci/cerbero-build/dist/msvc_x86_64 --libdir=lib -Ddebug=true --default-library=both -Doptimization=2 --backend=ninja --wrap-mode=nodownload -Db_vscrt=md --native-file c:/builds/alatiera/gst-ci/cerbero-build/sources/msvc_x86_64/gstreamer-1.0-1.19.0.1/_builddir/meson-native-file.txt -Dlibunwind=disabled -Ddbghelp=enabled -Dintrospection=disabled -Dexamples=disabled'
failed to create process
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/399>
2021-03-05 08:28:47 +02:00
Jordan Petridis
136019bab7 ci_template: fix WINDOWS_CONTAINER_SCRIPT_URL location
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/399>
2021-03-05 07:12:35 +02:00
Jordan Petridis
bdbef0449c ci_template: build windows image in the ci
Build the images in the ci runners like we do,
for the linux containers.

Kudos to mesa for the powershell script that
reimplements the ci-templates behavior.

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4304

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/392>
2021-02-25 04:25:25 +02:00
Jordan Petridis
8f0481f19a docker/windows: make the powershell scripts more robust
Check the exit codes of various commands and fail
appropriatly upon error.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/392>
2021-02-25 04:25:25 +02:00
Jordan Petridis
1f0b3938af ci_template: use meson subproject --rebase for the windows builds as well
Similar to 

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/382>
2021-02-25 03:32:58 +02:00
Nirbheek Chauhan
2c0ab5f8a1 gitlab/cerbero: Don't fail when there's no macOS cache
`test -d "${CERBERO_HOME}/dist/${ARCH}"` will cause the build to error
out if the dist dir doesn't exist, which will happen if there's no
cache, for example:
https://gitlab.freedesktop.org/seungha.yang/gst-plugins-bad/-/jobs/7405565

What we actually want to do, is to not perform the rsync if there's no
cache, since it means we want to rebuild from scratch; for instance,
if the current MR uses a custom cerbero branch of the same name which
won't have a prebuilt cache.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/398>
2021-02-18 14:52:32 +05:30
Biswapriyo Nath
2cd6f5f6b9 docker/windows: Update msys2 installer to 2021-02-15 version.
This fixes the PGP key installation issue.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/396>
2021-02-16 15:57:39 +02:00
Nirbheek Chauhan
26a990454c gitlab: Allow du to fail in cerbero scripts
It's purely for informative reasons. `du` will fail on the sources dir
if a branch name has unicode in it due to an MSYS/MinGW bug. The long
term fix is to from MSYS/MinGW to MSYS/MinGW-W64 or MSYS2/MinGW-W64.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/395>
2021-02-03 14:05:19 +05:30
Mathieu Duponchelle
114ce593ef hotdoc: use latest pip version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/394>
2021-02-01 15:00:27 +01:00
Jordan Petridis
d5136450c2 docker/fedora: run git gc after cloning the subprojects
Most of the subprojects specify depth=1 in the wrap file,
so this doesn't have a big effect atm.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/375>
2021-01-27 13:15:07 +00:00
Jordan Petridis
dbf14146b9 citemplate: use meson 0.56 and suproject update --reset
The windows build will be updated in a later
commit.

Close   

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, (),
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 

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