Commit graph

592 commits

Author SHA1 Message Date
Jordan Petridis
5c536f2601 docker/windows: build rust image in the ci
This makes it a bit harder to build an image locally with the script,
as now the rust image requires to pass it the base image tag as a
--build-arg. This way though we don't need to duplicate and keep
the string of the image in sync.

Another thing is that now the docker windows image build is properly
passing/replacing build args and we can build non-master versions
of the image too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
2021-09-08 04:47:36 +00:00
Jordan Petridis
9c21b05d1b docker/windows: create a rust image for gst-rs
Based on the build image for the existing windows jobs,
add an image with rust toolchain and a (stable) gstreamer
install for the bindings to build against.

See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
2021-09-08 04:47:36 +00:00
Jordan Petridis
37c0ee7280 docker/windows: install vcredist140 explicitly
We depend on it for GStreamer builds and it was gettings pulled
transiently by python3 install.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
2021-09-08 04:47:36 +00:00
Matthew Waters
abe89db32d cerbero: fix cross-macos universal building all of cerbero
When building outside of cerbero, we only want to build the gst modules
as necessary.

Regression introduced by 03c5f1db29d751f8ccbe6062d8046c307c92a60d

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/413>
2021-09-07 22:50:54 +10:00
Nirbheek Chauhan
9c7a2df4a8 cerbero: Always fetch sources with four parallel jobs
The default number of parallel jobs is two, which is too few. We can
easily use four or more. Should speed up image builds and also
downloading of (new) sources that aren't already cached in the image.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/411>
2021-08-17 16:04:42 +05:30
Matthew Waters
ab5c501b87 gitlab: fix incorrect build-tools path being used on macOS
The relevant CI log

dyld: Library not loaded: /Users/gst-ci/builds/gstreamer/cerbero/cerbero-build/dist/darwin_universal/x86_64/lib/liborc-0.4.0.dylib
  Referenced from: /Users/gst-ci/builds/xhaakon/gstreamer-sharp/cerbero-build/dist/darwin_universal/x86_64/bin/orcc
  Reason: image not found

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/410>
2021-07-29 23:51:04 +10:00
Matthew Waters
b65eb14636 ci: build universal macos packages instead of x86_64 only
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/408>
2021-07-28 12:01:16 +10:00
Tim-Philipp Müller
d6fa1847e6 ci_template: rebuild some images
We need a newer cache for fontconfig since it renamed master branch
to main now and the wrap file has depth=1

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/407>
2021-06-30 16:45:52 +01:00
Víctor Manuel Jáquez Leal
9a559c3705 docker: fedora: Add intel-mediasdk package.
Add intel-mediasdk package to build gst-msdk plugin in gst-plugins-bad.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/403>
2021-06-21 09:47:32 +02:00
Jordan Petridis
cfdc3bdc31 ci_template: rebuild some images
We need a newer cache for harfbuzz since it renamed master branch
to main now and the wrap file has depth=1

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/246#note_948717

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/404>
2021-06-07 22:06:40 +03:00
Jordan Petridis
02dce71d95 ci_template: mark the manifest job as not allowed to fail
With gitlab 13.12 the behavior of jobs that depend of manual
jobs changes, and they are considered skipped by default.

But in our pipeline we want to enforce that the whole pipeline
runs and succeds and the manual status is only there to reduce
CI load.

For more details see:

https://about.gitlab.com/blog/2021/05/20/dag-manual-fix/

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/404>
2021-06-04 15:48:09 +00:00
Jordan Petridis
f03eca8ff7 docker/fedora: Bump image tag
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/406>
2021-06-04 12:53:07 +03:00
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