Commit graph

580 commits

Author SHA1 Message Date
Jordan Petridis 92c7258a82 docker/fedora: Fix find cli arg in prepare.sh script
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/406>
2021-06-04 12:53:04 +03:00
Philippe Normand 8aa710f6b8 docker/fedora: Bump to latest rustup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/406>
2021-06-04 12:53:04 +03:00
Philippe Normand 0c5838bcdd docker/fedora: Reverse meson installation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/406>
2021-06-04 12:53:04 +03:00
Philippe Normand c18e08e4ef docker/fedora: Fix rpmfusion urls
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/406>
2021-06-04 12:18:11 +03:00
Stéphane Cerveau 89050a8222 ci_template: gstreamer-full: enable auto features
Enable auto features for gstreamer-full but
disable "introspection" for now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/402>
2021-04-30 12:01:40 +02:00
Stéphane Cerveau ac6890e50f docker: fedora: update string version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/400>
2021-03-30 15:38:03 +02:00
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 !375

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 #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