summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
AgeCommit message (Collapse)Author
2018-10-31gitlab-ci: arm64 cross compilingDaniel Vetter
First I tried to build in a full sysroot, but I didn't figure out why ld never found the libraries (this was on fedora, which might have been part of the problem - if you just need a toolchain for kernel corss-building fedora is perfectly fine). Then I tried using debian's multiarch stuff, which worked a lot better, except there's some minor gotchas: - some libraries conflict and can't be multi-arch installed - some libraries are buggy and cause conflicts when installing - pkgconfig and ld get confused with some other libraries and pick the first one they find (i.e. the x86_64 one, not the arm64 one). That means we need a new docker image with just the cross libaries installed as -dev packages, and none of the native ones. Next up I tried to run the tests. Meson has really nice support for an exe wrapper, and qemu happily runs arm64 on x86_64. With that I managed to run some tests successfully (it's not even that slow!). But most are run through a script, and the script doesn't know about the exe wrapper and hence fails miserably. I discussed this a bit with Dylan and he filed an upstream meson issue: https://github.com/mesonbuild/meson/issues/4427#issuecomment-433553689 Another option would be to use binfmt-misc handling (which works neatly locally), but on the runners we have I can't control that. Maybe I can beg Daniel Stone ... For not let's just mark this stage as optional and that failures are allowed. v2: Use the new gitlab 1.4 feature to rebuild docker images when necessary. Cc: Sean Paul <sean@poorly.run> Cc: Eric Anholt <eric@anholt.net> Cc: Dylan Baker <dylan@pnwbakers.com> Cc: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Eric Anholt <eric@anholt.net> (v1) Reviewed-by: Petri Latvala <petri.latvala@intel.com> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-31gitlab-ci: Build docs by defaultDaniel Vetter
I just realized that when you push to a non-HEAD branch, then gitlab doesn't bother to build the deploy stage. Which means if you push to a branch, then that's not properly tested. So build docs right away. We're not going to waste anything, since the deploy:pages job will pick up right from where we left. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2018-10-31gitlab-ci: build test libunwind stubsDaniel Vetter
We want to make sure this keeps working nicely Cc: Sean Paul <sean@poorly.run> Cc: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2018-10-30gitlab-ci: Build Docker images if Dockerfiles have changedArkadiusz Hiler
The jobs that build container images and upload them to the registry do not have to be manual any longer. By leveraging the new only-changes feature (GitLab 11.4), we can trigger those jobs conditionally on any alterations to the Dockerfiles. Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-24gitlab-ci: Do meson build with oldest supported mesonArkadiusz Hiler
Documentation building differs for meson < 0.47, so let's make sure that it works. Also remove a comment that has slipped through. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-24gitlab-ci: Compare test-list.txt(s) generated by meson and autotoolsArkadiusz Hiler
Let's make sure that we haven't missed any tests with any of the supported build systems. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-24gitlab-ci: Compile using autotoolsArkadiusz Hiler
Let's make sure that IGT compiles with autotools. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-24gitlab-ci: Parametrize images used with CI_ variablesArkadiusz Hiler
The container stage was already using CI_ variables, pushing to the right registry. Let's do that for the pulling containers too. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-23Add GitLab's CI/CD configurationArkadiusz Hiler
The CI/CD pipeline is configured the following way: 1. Build docker images and add them to repo's registry (manual step for now, automation needs GitLab to be updated). 2. Build igt with meson on Debian and Fedora. 3. Run `ninja tests` on Fedora. 4. Build and publish docs as an artifact, for GitLab Pages. v2: Typos and fully-featured meson build. v3: Use variables instead of hard-coding registry and project. Cc: Petri Latvala <petri.latvala@intel.com> Cc: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Petri Latvala <petri.latvala@intel.com>