Jordan Petridis [Tue, 4 Dec 2018 22:06:00 +0000 (00:06 +0200)]
CI: do not run local jobs for master branch
They are identical to the normal jobs
Thibault Saunier [Thu, 6 Dec 2018 10:23:20 +0000 (07:23 -0300)]
build_manifest: fetch remote refname before checking out right commit
Working around https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/95
Thibault Saunier [Thu, 6 Dec 2018 03:00:21 +0000 (00:00 -0300)]
Revert me
Thibault Saunier [Thu, 6 Dec 2018 03:03:25 +0000 (00:03 -0300)]
Run test_manifest when the docker is changed
Thibault Saunier [Thu, 6 Dec 2018 01:23:47 +0000 (22:23 -0300)]
build_manifest: Include remote refname in the manifest
Thibault Saunier [Thu, 6 Dec 2018 01:03:53 +0000 (22:03 -0300)]
buildmanifest: Move away from the gitlab API and use plain git to retrieve branch names
Makes the code much simpler
Thibault Saunier [Thu, 6 Dec 2018 01:46:57 +0000 (22:46 -0300)]
Install git in the test_manifest docker as necessary now
Jan Alexander Steffens (heftig) [Wed, 5 Dec 2018 21:12:09 +0000 (22:12 +0100)]
ci_template: Use git diff --quiet for checking for changes
Checking the exit code of git diff --quiet is preferred over looking
whether git diff produces any output.
Jan Alexander Steffens (heftig) [Wed, 5 Dec 2018 21:08:49 +0000 (22:08 +0100)]
ci_template: Don't use command substitution with find
GNU find has operations like -exec and -delete that operate without the
brittleness of applying shell word splitting to its output.
In addition, it won't fail if no files were matched.
Jordan Petridis [Wed, 28 Nov 2018 10:09:28 +0000 (12:09 +0200)]
Run gst-indent through the files
This is required before we enabled an indent test in the CI.
https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
Jordan Petridis [Tue, 13 Nov 2018 11:43:42 +0000 (13:43 +0200)]
ci_template: Add a gst-indent job
Nicolas Dufresne [Sat, 1 Dec 2018 16:33:44 +0000 (11:33 -0500)]
build_manifest: Increase the number of search results
This increase the number of search results when looking up user
branches to 100 items. This should be sufficient for all of our users.
Fixes #3
Jordan Petridis [Sat, 1 Dec 2018 13:20:38 +0000 (15:20 +0200)]
CI: Update image uris
Jordan Petridis [Sat, 1 Dec 2018 11:17:46 +0000 (13:17 +0200)]
Docker: fix a type in the test-manifest image
Jordan Petridis [Thu, 29 Nov 2018 10:43:55 +0000 (12:43 +0200)]
docker fedora: add extra deps
featuring:
- flite
- elfuitls
- gsl
- couple of mesa packages
- sdl2
- graphene
- aom
- neon
- sbc
Jordan Petridis [Fri, 30 Nov 2018 18:43:39 +0000 (20:43 +0200)]
docker: add an image to run the tests of the manifest
So in the futuere we can avoid installing pytest each time
Jordan Petridis [Fri, 30 Nov 2018 17:57:13 +0000 (19:57 +0200)]
docker: Add a new image for the gst-indent job
This is meant run GNU indent along with the gstreamer wrapper
through the codebase and error out for missconfigured code.
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
Xavier Claessens [Wed, 28 Nov 2018 18:39:16 +0000 (13:39 -0500)]
Update docker images to latest
Jordan Petridis [Mon, 26 Nov 2018 14:23:58 +0000 (16:23 +0200)]
docker: Move android into a unified image
Jordan Petridis [Mon, 26 Nov 2018 13:43:59 +0000 (15:43 +0200)]
docker: move the alpine image to a different directory
Jordan Petridis [Sun, 25 Nov 2018 00:03:29 +0000 (02:03 +0200)]
docker: Add a unified image for fedora
This is meant to replace both the runtime and build images.
Spliting it in two increasing the maintainance required without
any big benefits.
Jordan Petridis [Sat, 24 Nov 2018 22:48:50 +0000 (00:48 +0200)]
Docker registry: only tag images for the upstream repository
The tags are only used to version the images that are meant
to be used in the gitlab/ci_template.yml file. Thus tags are
not needed when you hack on a patch from a forked repository.
Lets just keep a :latest tag.
Tim-Philipp Müller [Sun, 25 Nov 2018 23:26:20 +0000 (23:26 +0000)]
ci-template: build with --werror by default
Thibault Saunier [Sun, 25 Nov 2018 19:15:59 +0000 (16:15 -0300)]
Fix previous commit and do not install rsync
rsync is not needed in the end.
Thibault Saunier [Sun, 25 Nov 2018 16:25:37 +0000 (13:25 -0300)]
Add a script to import the GStreamer documentation inside the fdo server
Thibault Saunier [Sat, 24 Nov 2018 12:40:55 +0000 (09:40 -0300)]
docker:fedora: Add required package to build and upload the documentation
Jordan Petridis [Fri, 23 Nov 2018 16:45:31 +0000 (18:45 +0200)]
gitlab/ci_template.yml: rework the CI stages
Idea is that in order to not consume many resources for broken
builds, we will have a basic stage where just one simple set of
build and test jobs is run. If that passes we will continue with
the rest of the Pipeline suite.
Jordan Petridis [Fri, 23 Nov 2018 16:59:04 +0000 (18:59 +0200)]
gitlab/ci_template.yml: add dependencies block to the .build template
Jordan Petridis [Fri, 23 Nov 2018 16:48:11 +0000 (18:48 +0200)]
Revert "Avoid duplication between ci_template.yml and .gitlab-ci.yml"
This reverts commit
6bdd1ead99e7d17ba5f8cdbba2668cdebc3bdb43.
This does not actually avoid duplication... [1]
[1] https://gitlab.freedesktop.org/gstreamer/gst-ci/commit/
6bdd1ead99e7d17ba5f8cdbba2668cdebc3bdb43#note_81275
Xavier Claessens [Thu, 22 Nov 2018 21:47:35 +0000 (16:47 -0500)]
Avoid duplication between ci_template.yml and .gitlab-ci.yml
Xavier Claessens [Thu, 22 Nov 2018 19:21:20 +0000 (14:21 -0500)]
Add Android arm64 cross build
Xavier Claessens [Thu, 22 Nov 2018 18:45:10 +0000 (13:45 -0500)]
Add Android NDK toolchain in Ubuntu docker image
Xavier Claessens [Thu, 22 Nov 2018 18:24:26 +0000 (13:24 -0500)]
Build Ubuntu base image
Xavier Claessens [Thu, 22 Nov 2018 17:00:26 +0000 (12:00 -0500)]
Make a change in Dockerfile-ubuntu to force rebuild of docker image
Xavier Claessens [Thu, 22 Nov 2018 16:37:51 +0000 (11:37 -0500)]
Build ubuntu runtime docker
Jordan Petridis [Thu, 22 Nov 2018 11:03:23 +0000 (13:03 +0200)]
CI: remove duplicate entry
Jordan Petridis [Thu, 22 Nov 2018 11:01:48 +0000 (13:01 +0200)]
CI: only build the images that changed
previously when something in the docker/ direcotry was changed,
all of the images would be rebuilt.
Jordan Petridis [Wed, 21 Nov 2018 14:55:02 +0000 (16:55 +0200)]
CI: Test both the ci_template as well as local changes
Instead of just overwritting the template build jobs, test both
so we avoid regressions.
See [1] for more
[1] https://gitlab.freedesktop.org/gstreamer/gst-ci/commit/
1858a709e6d400716241c9b63dc50b28fa71c48a
Jordan Petridis [Wed, 21 Nov 2018 15:25:29 +0000 (17:25 +0200)]
gitlab/ci_template.yml: Use tagged docker image for the manifest job
Jordan Petridis [Wed, 21 Nov 2018 13:47:18 +0000 (15:47 +0200)]
gitlab/ci_template.yml: Use correct yaml syntax
single quotes in yaml don't escape special charters which
causes the env variable to never be resolved to its proper path.
Thibault Saunier [Thu, 22 Nov 2018 00:25:30 +0000 (21:25 -0300)]
gitlab: Update the docker image we use
so we have latest fix for gst-build git-update script
Thibault Saunier [Wed, 14 Nov 2018 13:20:16 +0000 (10:20 -0300)]
build_manifest: Add the "path" attribute to projects
When the local path and the name are different, both have to be
specified, it is now required since we add the '.git' to the name.
Thibault Saunier [Wed, 14 Nov 2018 13:20:16 +0000 (10:20 -0300)]
build_manifest: Add the to repo names to avoid spamming about redirections
Thibault Saunier [Wed, 14 Nov 2018 13:16:39 +0000 (10:16 -0300)]
build_manifest: Never use users 'master' branch for repos we are not explicitely building
People very often do not update them leading to random and weird failures
Thibault Saunier [Wed, 14 Nov 2018 02:34:20 +0000 (23:34 -0300)]
build_manifest: Make sure to respect GitLab currently built SHA
Thibault Saunier [Tue, 13 Nov 2018 17:13:23 +0000 (14:13 -0300)]
Revert "Revert me when merged"
This reverts commit
5cff46553e913e5ab13e63561edaa519a4ca904f.
Thibault Saunier [Sun, 11 Nov 2018 11:57:35 +0000 (08:57 -0300)]
Revert me when merged
Stopping the circular dependency.
Thibault Saunier [Sun, 11 Nov 2018 12:33:13 +0000 (09:33 -0300)]
gitlab: Handle checking out the right gst-ci branch to call build_manifest
Thibault Saunier [Sun, 11 Nov 2018 02:49:57 +0000 (23:49 -0300)]
Add a simple alpine based Dockerfile for images to build manifest
Thibault Saunier [Sun, 11 Nov 2018 12:22:42 +0000 (09:22 -0300)]
gitlab: ci: Run build_manifest tests only if the script changes
Jordan Petridis [Tue, 13 Nov 2018 10:52:17 +0000 (12:52 +0200)]
build_manifest.py: Use CI_PROJECT_NAMESPACE instead of GITLAB_USER
GITLAB_USER_* variables represent the user *that triggered* the job,
which might not match the user that owns the namespace of the fork.
This happens frequently with rebase, where the one who triggers the
rebase is the one that appears in the GITLAB_USER_* vars.
Instead use the CI_PROJECT_NAMESPACE variable to search the user's
projects. If CI_PROJECT_NAMESPACE has the value of a Group namespace
search_user_namespace returns 404.
Jordan Petridis [Mon, 12 Nov 2018 16:57:42 +0000 (18:57 +0200)]
ci_template: Update docker image tags
Víctor Manuel Jáquez Leal [Mon, 12 Nov 2018 13:00:18 +0000 (14:00 +0100)]
ci_template.yml: enable gstreamer-vaapi
Víctor Manuel Jáquez Leal [Mon, 12 Nov 2018 12:59:57 +0000 (13:59 +0100)]
build_manifest.py: Add gstreamer-vaapi
Víctor Manuel Jáquez Leal [Mon, 12 Nov 2018 12:52:31 +0000 (13:52 +0100)]
docker: Add gstreamer-vaapi dependencies
Jordan Petridis [Mon, 12 Nov 2018 16:01:00 +0000 (18:01 +0200)]
CI: Use the correct bash syntax
345afee677770f4de89b1c4b01bc3021500d335c broke the bash
extreppsion that evaluates the strings, causing images to
never be pushed.
Jordan Petridis [Mon, 12 Nov 2018 14:37:10 +0000 (16:37 +0200)]
build_manifest.py: Silence irrelevant logs
The group API querries where removed in
2320cfaf but the
log was forgotten.
The headers print was meant to be just for debugging.
Jordan Petridis [Mon, 12 Nov 2018 13:22:18 +0000 (15:22 +0200)]
CI: Change the push policy of the docker images
If we are in a fork of the project, we would like to be able
to overwrite the `:latest` tag if the registry from any branch
so we won't have to manually overwrite the image tag in the
build/test jobs in the .gitlab-ci.yml file
Jordan Petridis [Mon, 12 Nov 2018 12:37:16 +0000 (14:37 +0200)]
CI: Overwrite the build job from the template
Make it so when we build a new image in `gst-ci` it gets
picked up automatically by the job in this repo. For the template
itself we want the images to me be versioned and reproducible.
Nicolas Dufresne [Sun, 11 Nov 2018 01:35:10 +0000 (20:35 -0500)]
gitlab-ci: Only run scripts test on related code
Right now we only have one test against build_manifest.py, it
is not needed to run this test if that code haven't changed.
It's really easy to add more file or set a wild card in the
future.
Nicolas Dufresne [Sun, 11 Nov 2018 01:34:21 +0000 (20:34 -0500)]
gitlab-ci: Use quote for "test" stage
This is just for consistency, no really needed.
Thibault Saunier [Fri, 9 Nov 2018 18:57:45 +0000 (15:57 -0300)]
Also run the main CI template in .gitlab-ci.yml
Rename some job otherwise some names where too similare.
Jordan Petridis [Fri, 9 Nov 2018 19:29:41 +0000 (21:29 +0200)]
ci_template.yml: Temporarly disable builddir artifact
We won't use it till the tests land, and the fd.o runners are
getting overloading causing jobs to fail with 500 error during
artifact upload. [1]
Thus disable this feature temporarly.
[1]: https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/44
Jordan Petridis [Thu, 8 Nov 2018 10:32:14 +0000 (12:32 +0200)]
Add an initial template of a gitlab-ci config
This is meant to be used with the `include:` featrue of gitlab [1]
in order to provide the same CI pipeline for all the gstreamer
modules.
[1] https://docs.gitlab.com/ce/ci/yaml/README.html#include
Edward Hervey [Fri, 9 Nov 2018 11:09:42 +0000 (12:09 +0100)]
build-manifest: Remove reference to anongit
And make the gitlab one the "origin"
Jordan Petridis [Fri, 9 Nov 2018 13:05:38 +0000 (15:05 +0200)]
docker: Use the upstream registry to build images
Jordan Petridis [Thu, 8 Nov 2018 10:28:45 +0000 (12:28 +0200)]
Do not hardcode env variables
Jordan Petridis [Mon, 5 Nov 2018 19:34:55 +0000 (21:34 +0200)]
Docker Fedora: Add more dependencies
Also make the indentation 4-space widgth and consinstant
Jordan Petridis [Mon, 5 Nov 2018 18:52:37 +0000 (20:52 +0200)]
Build the docker images and push them to the gitalb registry
Thibault Saunier [Tue, 7 Aug 2018 23:34:38 +0000 (19:34 -0400)]
Remove autotools support and update meson.
This simplifies our docker images and we should focus on meson
support for our new CI system!
Thibault Saunier [Sun, 4 Nov 2018 23:24:10 +0000 (20:24 -0300)]
docker: Add a dockerfile to export test result with allure
based on alpine
Thibault Saunier [Sun, 4 Nov 2018 23:22:38 +0000 (20:22 -0300)]
docker: Add an archlinux dockerfile
Thibault Saunier [Tue, 7 Aug 2018 23:28:08 +0000 (19:28 -0400)]
docker: ubuntu: Update to 18.04
Thibault Saunier [Tue, 7 Aug 2018 23:27:40 +0000 (19:27 -0400)]
docker: fedora: Update to fedora 29
Jordan Petridis [Tue, 6 Nov 2018 13:48:55 +0000 (15:48 +0200)]
build_manifest.py: remove get_hostname function
Not really needed anymore now that it just calls urlparse.
Jordan Petridis [Tue, 6 Nov 2018 13:45:53 +0000 (15:45 +0200)]
build_manifest.py: Hardcode the project ids of upstream repos.
Since we can't use the group api to query their id, see previous
commit, we are going to hard code the upstream project id for the
time being.
Jordan Petridis [Mon, 5 Nov 2018 13:18:38 +0000 (15:18 +0200)]
build_manifest: Drop the group search for now
Since we can't authenticate with the CI_JOB_TOKEN it needs a
workaroud. Currently it falls back to the upstream repo which is
good enough to get us going.
Jordan Petridis [Mon, 5 Nov 2018 11:33:51 +0000 (13:33 +0200)]
build_manifest.py: Fix the api querries
Previously the script assumed that the best match will be the first
result, but that's not always the case apparently.
Jordan Petridis [Wed, 31 Oct 2018 11:39:21 +0000 (13:39 +0200)]
build_manifest.py: avoid duplicate / in requests
Jordan Petridis [Tue, 30 Oct 2018 21:39:33 +0000 (23:39 +0200)]
build_manifest.py: remove request assertion
This does indeed brake things
Jordan Petridis [Tue, 30 Oct 2018 19:00:48 +0000 (21:00 +0200)]
build_manifest.py: Prefer a custom token if set
In order to be able to query the Gitlab Group API we need to be
authenticated. CI_JOB_TOKEN for public jobs has a non-meaningfull
value which does not actually authenticate the Runner to the
intance.
Jordan Petridis [Thu, 25 Oct 2018 16:47:57 +0000 (19:47 +0300)]
build_manifest.py: add some basic logging
Jordan Petridis [Thu, 25 Oct 2018 11:36:47 +0000 (14:36 +0300)]
build_manifest.py: preserve env vars when running tests
pytest will happily run all the tests in the same proccess,
which means if one mutates an environment variable, the change
will bleed to the rest of the tests.
Jordan Petridis [Thu, 25 Oct 2018 11:13:12 +0000 (14:13 +0300)]
build_manifest.py: Avoid duplicating some code
Jordan Petridis [Thu, 25 Oct 2018 10:57:48 +0000 (13:57 +0300)]
build_manifest.py: Avoid making the CI variables global
There are half of the variables compared to what was used before,
and now they are only used once so its not needed for them anymore
to be global.
This allows running the tests without needing to pre-define them
in your local environment, since the ones needed are mocked in the
tests code anyway.
Jordan Petridis [Thu, 25 Oct 2018 10:33:14 +0000 (13:33 +0300)]
CI: run the build_manifest.py tests
Jordan Petridis [Thu, 25 Oct 2018 10:05:31 +0000 (13:05 +0300)]
build_manifest.py: Properly query the group namepsace
Add a function to query groups, so the fallback code will
be functional once gstreamer migrates to gitlab.
Jordan Petridis [Wed, 24 Oct 2018 17:42:58 +0000 (20:42 +0300)]
build_manifest.py: Remove an unnecessary if branch
I can't think of a scenario where this would be hit, and can't
trigger make the find_reposiroty_sha function return None either.
Jordan Petridis [Wed, 24 Oct 2018 16:47:04 +0000 (19:47 +0300)]
build_manifest.py: Remove an early exit branch
find_repository_sha will conclude to the same result so
we can remove the whole if branch and extra variables
that it needed.
Jordan Petridis [Wed, 24 Oct 2018 16:44:19 +0000 (19:44 +0300)]
build_manifest.py: Test the find_repository_sha function
Jordan Petridis [Wed, 24 Oct 2018 16:40:30 +0000 (19:40 +0300)]
build_manifest.py: Handle bad requests
Jordan Petridis [Wed, 24 Oct 2018 15:26:21 +0000 (18:26 +0300)]
build_manifest.py: Use more descriprive variable name
Jordan Petridis [Wed, 24 Oct 2018 15:25:18 +0000 (18:25 +0300)]
build_manifest.py: Make the needed env vars global variables
Jordan Petridis [Wed, 24 Oct 2018 14:54:34 +0000 (17:54 +0300)]
build_manifest.py: add a failure test case for branches
Jordan Petridis [Wed, 24 Oct 2018 14:34:58 +0000 (17:34 +0300)]
build_manifest.py: search user namespaces instead of global
Previously find_repository_sha would do a global search of
all the projects in the gitlab instance. This ports it to
use the user namespace endpoint.
Additionally seems like the else: block never worked.
Jordan Petridis [Wed, 24 Oct 2018 13:54:35 +0000 (16:54 +0300)]
build_manifest.py: Add a function to search user namespace of projects
Also fix a type annotation error in the request functions.
Jordan Petridis [Wed, 24 Oct 2018 11:09:17 +0000 (14:09 +0300)]
build_manifest.py: Make sure the remote always ends with a slash
that's how `git-update` in `gst-build` expects it to be
Jordan Petridis [Wed, 24 Oct 2018 10:30:12 +0000 (13:30 +0300)]
build_manifest.py: Query the exact branch needed
Jordan Petridis [Tue, 23 Oct 2018 20:23:16 +0000 (23:23 +0300)]
build_manifest.py: Add a FIXME comment
Jordan Petridis [Tue, 23 Oct 2018 20:14:17 +0000 (23:14 +0300)]
build_manifest.py: Use the project path not the name
The project path is what's shown in the url bar, ex
gitlab.example.com/john/gstreamer -> path == gstreamer
The project name is defined in project settings and its just.
Its more common to change the name of a fork than its path.