summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* doc: Avoid shelling out to hotdoc to generate plugins config filesThibault Saunier2023-04-251-2/+3
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479>
* ci: Move MESON_GST_WERROR string into a meson machine fileJordan Petridis2023-04-241-18/+1
| | | | | | | It's both easier to use that way and we can also reuse it when building locally. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281>
* ci: Replace yaml anchor of simple build with a variableJordan Petridis2023-04-241-16/+18
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281>
* citemplate: port fedora build jobs to a parallel matrixJordan Petridis2023-04-241-30/+62
| | | | | | | | | | | | | | | | | | This is a new feature which makes it so we can generate jobs based on the possible matrix of the environment variables we pass into it. In this commit we refactored the gstbuild template to a matrix of Buildtype, debugbuild (and could have also set werror, but we always have it on in fedora gstbuilds). Then create 2 jobs, one for each compiler set. We could have put them in the matrix, but CC and CXX are kinda coupled and doesn't make sense to tests the matrix between them. https://docs.gitlab.com/ce/ci/yaml/README.html#parallel-matrix-jobs Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281>
* citemplate: move debugbuild option to variableJordan Petridis2023-04-241-3/+5
| | | | | | | Instead of appending it to the meson args string, have the gstbuild template construct the meson args accordingly. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281>
* citemplate: move the buildtype from the meson args to a variableJordan Petridis2023-04-241-8/+8
| | | | | | | | | | Instead of appending to the existing variable, have the gstbuild template construct the meson args accordingly. Also avoid using the buildtype to extend hackily jos to pass extra args to them Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281>
* citemplate: replace werror var with a booleanJordan Petridis2023-04-241-8/+14
| | | | | | | | | | | | Instead of appending the string of the meson args we pass to the gstbuild template, make a boolean variable and contruct the meson args in the template accordingly. This is prep in order to use the new matrix feature. https://docs.gitlab.com/ce/ci/yaml/README.html#parallel-matrix-jobs Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281>
* gir: Checkout all .gir files and check that they are updated on the CIThibault Saunier2023-04-221-2/+8
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010>
* ci: Always run the windows build image jobJordan Petridis2023-04-221-2/+0
| | | | | | | | Much like the linux counterparts, this either build the image once the tags change or quickly exits if that has been done already. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4471>
* ci: trigger cerbero when MESON_COMMIT is setXavier Claessens2023-04-051-0/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4325>
* ci: Add .gitlab-images-tags.yml to the changes rulesJordan Petridis2023-04-051-0/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4331>
* ci: Export cargo/rust paths into the build envJordan Petridis2023-04-031-1/+4
| | | | | | | | Also disable rust for all default builds unless explicitly enabled (So it won't be automatically enabled now that rustc is in the env) Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4327>
* ci: Add playbin3 validate stepEdward Hervey2023-03-291-0/+7
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4001>
* ci: update indent image to GNU indent 2.2.12Tim-Philipp Müller2023-03-171-1/+1
| | | | | | | | ... and dotnet-sdk to 7.0. Fixes #340 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182>
* ci: bump ci-templates versionTim-Philipp Müller2023-03-171-2/+2
| | | | | | Needed for debian bookworm support. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182>
* ci: Add a job to verify commit messages on MRsThibault Saunier2023-02-241-0/+36
| | | | | | | | | This uses [gitlint] and is based on their linting rules with some minor config so it matches our style pretty well. [gitlint]: https://jorisroovers.com/gitlint/#configuration Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3980>
* ci: Mark MESON_COMMIT for prefill in gitlabJordan Petridis2023-02-031-0/+4
| | | | | | | | | Starting with gitlab 15.7 we can give hints to the UI when triggering a pipeline manually that we might want to change a variable. https://docs.gitlab.com/15.7/ee/ci/pipelines/index.html#prefill-variables-in-manual-pipelines Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3639>
* ci: mark valgrind ges job as allowed to failTim-Philipp Müller2022-12-221-0/+4
| | | | | | | | | It's extremely flaky, especially with idle runners, and it's not limited to just a single test. Mark as allowed to fail until someone starts caring about it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3626>
* ci: build less for integration testsuiteTim-Philipp Müller2022-12-061-0/+15
| | | | | | | | | | | | | | - skip gst-omx - skip sharp bindings - skip examples and gst-examples - skip check unit tests (only needed for check job) - skip microdns (not needed and pulls in subproject) - skip avtp (ditto) - skip webrtc (same) - skip benchmarks - skip qt5 and gtk Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3520>
* ci: sprinkle some date -R to easier see how long build steps takeTim-Philipp Müller2022-11-081-0/+5
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3354>
* ci: use 8 parallel jobs for the integration test suiteTim-Philipp Müller2022-11-081-1/+1
| | | | | | | | | | | | The runners have a lower core count than the previous generation so the integration tests run much slower overall than the used to, so fix that by running more in parallel again. The build time is measured in seconds and much faster than it used to be, so should still be a reasonable trade-off, and means re-tried jobs will complete faster. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3354>
* ci: Allow the documentation job to always run post-mergeJordan Petridis2022-10-271-3/+1
| | | | | | | | | | We want the docs to be deployed on every post-merge pipeline on the main branch. In order to do that however we have to also have the fedora build job always running. This won't affect the documentation job run by MRs. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258>
* ci: Make jobs explicitly depend on the trigger job to runJordan Petridis2022-10-271-0/+8
| | | | | | | Instead of relying on the implicit dep from the image build jobs. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258>
* ci: consolidate pre-build CI stagesJordan Petridis2022-10-271-7/+4
| | | | | | | | | Back in the day we kept separate stages around to define build order, however with DAG/needs now jobs run asynchronously. Additionally on recent version its possibel to same jobs depend on other jobs from the same stage. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258>
* ci: Replace obselete variableJordan Petridis2022-10-271-2/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258>
* ci: Run windows jobs when win-* binary subprojects are updatedNirbheek Chauhan2022-10-181-0/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3209>
* ci: Fix website regen on pushNirbheek Chauhan2022-10-101-2/+3
| | | | | | Don't make the integrate stage manual, we need it to regen the website Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3134>
* ci: Move non-image-tag variables back to .gitlab-ci.ymlNirbheek Chauhan2022-09-231-0/+10
| | | | | | https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065#note_1563706 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3068>
* ci: Bump cerbero trigger timeout to 4hNirbheek Chauhan2022-09-221-1/+1
| | | | | | | | macOS runners can get overworked and cause cerbero pipelines to take longer than 3h to complete, because each cross-macos-universal job takes about 2h and so it can take that long to get a runner allocated. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065>
* ci: Use include syntax for files on the same gitlab instanceNirbheek Chauhan2022-09-221-2/+6
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065>
* ci: Move image tags into a separate template ymlNirbheek Chauhan2022-09-221-20/+7
| | | | | | | | | | | This will allow gst-plugins-rs documentation CI to include this template via a remote include and doesn't need to manually update the image. This causes cascading failures across all repos, for example https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/874 is required for making gst-plugins-rs CI pass in Cerbero, which is also run on the gstreamer monorepo. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065>
* ci: Remove unused FEDORA_DOCS_IMAGE variableNirbheek Chauhan2022-09-221-1/+0
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
* ci: Bump meson to 0.62.2 in Fedora docker imagesNirbheek Chauhan2022-09-221-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
* ci: bump image tags so subprojects get updatedTim-Philipp Müller2022-09-171-2/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2507>
* Build documentation for rust pluginsThibault Saunier2022-09-151-12/+16
| | | | | | | | | | | | | | - Update the docker image we use, starting using the standard one adding `gtk4-doc` as required by rust plugins - Update the plugins_doc_caches as required, some more plugins are built with the new image - Install ninja from pip as the version from F31 is too old - Avoid buildings all GSreamer plugins when building the doc as it takes time and resources for no good reason - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib documentation, leading to warnings in hotdoc. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
* docs: Generate gst-plugins-rs documentationThibault Saunier2022-09-151-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
* subprojects: update openh264 wrap to v2.3.0Tim-Philipp Müller2022-09-021-2/+2
| | | | | | | | .. and use tarball instead of git checkout. Also bump ci image tags so the images cache the new tarball. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2968>
* docker/windows: Pass a couple installargs to python3Jordan Petridis2022-08-261-1/+1
| | | | | | | From these, only PrependPath isn't enabled by default, but its nice to explicitly enable the ones we need anyway. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2933>
* build: Fix some compiler warnings by upgrading wrapsNirbheek Chauhan2022-07-311-2/+2
| | | | | | | | | | | | | | | | https://gitlab.freedesktop.org/gstreamer/orc/-/commit/03d9f144cb333057bb203cbecea3fc29bb336120 https://gitlab.gnome.org/GNOME/pygobject/-/commit/2913e72d85269d6b307dc054946a88cbba6707de https://gitlab.gnome.org/GNOME/pygobject/-/commit/c945c99fbadb4496ff0fc01d42efd786abf5fba8 There's one more pygobject warning that will be fixed with this: https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/210 Also bump the image versions to regen them. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2814>
* windows/Dockerfile: replace ADD arguments with Invoke-WebRequestJordan Petridis2022-07-291-1/+1
| | | | | | | Have the windows susbsystem handle the networking layer and avoid layer invalidation until the strings/urls are changed. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2812>
* ci: Update the windows imageJordan Petridis2022-07-291-1/+1
| | | | | | Mainly to get newer meson Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2812>
* ci: Disable werror for documentation buildNirbheek Chauhan2022-06-101-0/+2
| | | | | | | | | | | | The documentation build is running on an ancient Fedora 30 image that cannot be updated at present, and it's now triggering deprecation warnings in system headers: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568#note_1418956 Disable werror here, it's not actually useful. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
* ci: Make sure to always update subprojectsXavier Claessens2022-05-271-2/+0
| | | | | | | The command was not run in Windows jobs, better keep subprojects handling in a single script. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2509>
* ci: run gst-inspect after the buildJordan Petridis2022-05-201-1/+5
| | | | | | | useful to quick inspect the elements built, later on we can start verifying the list of elements against a known good list. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2458>
* ci: run ninja install post buildJordan Petridis2022-05-201-1/+21
| | | | | | Make sure no weird regressions creep in. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2458>
* ci: use LONGPATH for the windows containerJordan Petridis2022-05-181-1/+1
| | | | | | | | | | | | | | Sometimes the CI might create paths that are bigger than the 260 character limit. ex: ``` error: unable to create file subprojects/gst-integration-testsuites/testsuites/validate/h264/parse.trickmode_predicted.seek_trickmode_predicted/flow-expectations/log-parse-src-expected: Filename too long ``` https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
* ci: remove windows-rust jobsJordan Petridis2022-05-181-53/+0
| | | | | | | | These are moved now into gstreamer-rs repository. https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
* ci: re-enable artifacts upload for the windows jobsJordan Petridis2022-05-181-7/+5
| | | | | | Hopefully the timeout issues won't affect the new runner Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
* ci: Install Media Foundations on the windows containerJordan Petridis2022-05-181-4/+4
| | | | | | | | | | | | | In order to do this, we need to switch to the Server container image, instead of the ServerCore we were using till now. This image also only has Server2022 base variants. This is a continuation of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1783 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
* ci: set the code page of powershell to utf-8Jordan Petridis2022-05-151-0/+10
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2397>