Message ID | 20180906100117.5627-1-daniels@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [libdrm] CI: Capture test logs as GitLab artifacts | expand |
On Thu, Sep 06, 2018 at 11:01:17AM +0100, Daniel Stone wrote: > GitLab CI already captures all the stdout/stderr output from the build > process as the log. However, some other important information is hidden > in other log files. > > Taken from Wayland, capture logs from the configuration process as well > as from every check. > > Signed-off-by: Daniel Stone <daniels@collabora.com> > Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com> > Cc: Lucas De Marchi <lucas.de.marchi@gmail.com> > Cc: Eric Engeström <eric.engestrom@intel.com> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> I think there's also an option to capture all non-tracked files when the build fails. For the lazy :-) But this looks good too. Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index eee6abfc..50ec8527 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -1,6 +1,29 @@ > +.artifacts-meson: &artifacts-meson > + when: always > + paths: > + - _build/meson-logs > + > +.artifacts-autotools: &artifacts-autotools > + when: always > + paths: > + - _build/*.log > + - _build/amdgpu/*.log > + - _build/etnaviv/*.log > + - _build/exynos/*.log > + - _build/freedreno/*.log > + - _build/intel/*.log > + - _build/libkms/*.log > + - _build/nouveau/*.log > + - _build/omap/*.log > + - _build/radeon/*.log > + - _build/tegra/*.log > + - _build/tests/*.log > + - _build/tests/*/*.log > + > latest-meson: > stage: build > image: base/archlinux:latest > + artifacts: *artifacts-meson > before_script: > - pacman -Syu --noconfirm --needed > base-devel > @@ -35,6 +58,7 @@ latest-meson: > latest-autotools: > stage: build > image: base/archlinux:latest > + artifacts: *artifacts-autotools > before_script: > - pacman -Syu --noconfirm --needed > base-devel > @@ -69,6 +93,7 @@ latest-autotools: > oldest-meson: > stage: build > image: debian:stable > + artifacts: *artifacts-meson > before_script: > - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" > 'path-exclude=/usr/share/doc/*' > @@ -125,6 +150,7 @@ oldest-meson: > oldest-autotools: > stage: build > image: debian:stable > + artifacts: *artifacts-autotools > before_script: > - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" > 'path-exclude=/usr/share/doc/*' > -- > 2.19.0.rc0 >
On Thursday, 2018-09-06 11:01:17 +0100, Daniel Stone wrote: > GitLab CI already captures all the stdout/stderr output from the build > process as the log. However, some other important information is hidden > in other log files. > > Taken from Wayland, capture logs from the configuration process as well > as from every check. > > Signed-off-by: Daniel Stone <daniels@collabora.com> > Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com> > Cc: Lucas De Marchi <lucas.de.marchi@gmail.com> > Cc: Eric Engeström <eric.engestrom@intel.com> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index eee6abfc..50ec8527 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -1,6 +1,29 @@ > +.artifacts-meson: &artifacts-meson Ooooh, variables? I might try to dedup the 'meson build' and 'autotools build' code with those :) > + when: always > + paths: > + - _build/meson-logs > + > +.artifacts-autotools: &artifacts-autotools > + when: always > + paths: > + - _build/*.log > + - _build/amdgpu/*.log > + - _build/etnaviv/*.log > + - _build/exynos/*.log > + - _build/freedreno/*.log > + - _build/intel/*.log > + - _build/libkms/*.log > + - _build/nouveau/*.log > + - _build/omap/*.log > + - _build/radeon/*.log > + - _build/tegra/*.log All of the above can be simplified to: - _build/*/*.log (vc4 is missing btw) With vc4 added, or /*/ used: Acked-by: Eric Engestrom <eric.engestrom@intel.com> > + - _build/tests/*.log > + - _build/tests/*/*.log > + > latest-meson: > stage: build > image: base/archlinux:latest > + artifacts: *artifacts-meson > before_script: > - pacman -Syu --noconfirm --needed > base-devel > @@ -35,6 +58,7 @@ latest-meson: > latest-autotools: > stage: build > image: base/archlinux:latest > + artifacts: *artifacts-autotools > before_script: > - pacman -Syu --noconfirm --needed > base-devel > @@ -69,6 +93,7 @@ latest-autotools: > oldest-meson: > stage: build > image: debian:stable > + artifacts: *artifacts-meson > before_script: > - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" > 'path-exclude=/usr/share/doc/*' > @@ -125,6 +150,7 @@ oldest-meson: > oldest-autotools: > stage: build > image: debian:stable > + artifacts: *artifacts-autotools > before_script: > - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" > 'path-exclude=/usr/share/doc/*' > -- > 2.19.0.rc0 >
On 6 September 2018 at 12:02, Eric Engestrom <eric.engestrom@intel.com> wrote: > On Thursday, 2018-09-06 11:01:17 +0100, Daniel Stone wrote: >> GitLab CI already captures all the stdout/stderr output from the build >> process as the log. However, some other important information is hidden >> in other log files. >> >> Taken from Wayland, capture logs from the configuration process as well >> as from every check. >> >> Signed-off-by: Daniel Stone <daniels@collabora.com> >> Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com> >> Cc: Lucas De Marchi <lucas.de.marchi@gmail.com> >> Cc: Eric Engeström <eric.engestrom@intel.com> >> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> >> --- >> .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ >> 1 file changed, 26 insertions(+) >> >> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml >> index eee6abfc..50ec8527 100644 >> --- a/.gitlab-ci.yml >> +++ b/.gitlab-ci.yml >> @@ -1,6 +1,29 @@ >> +.artifacts-meson: &artifacts-meson > > Ooooh, variables? I might try to dedup the 'meson build' and > 'autotools build' code with those :) > >> + when: always >> + paths: >> + - _build/meson-logs >> + >> +.artifacts-autotools: &artifacts-autotools >> + when: always >> + paths: >> + - _build/*.log >> + - _build/amdgpu/*.log >> + - _build/etnaviv/*.log >> + - _build/exynos/*.log >> + - _build/freedreno/*.log >> + - _build/intel/*.log >> + - _build/libkms/*.log >> + - _build/nouveau/*.log >> + - _build/omap/*.log >> + - _build/radeon/*.log >> + - _build/tegra/*.log > > All of the above can be simplified to: > - _build/*/*.log > > (vc4 is missing btw) > > With vc4 added, or /*/ used: > Acked-by: Eric Engestrom <eric.engestrom@intel.com> > I would fold everything in these tree lines. - _build/*.log - _build/*/*.log - _build/*/*/*.log It covers everything existing, plus catches future ones ;-) With that Reviewed-by: Emil Velikov <emil.velikov@collabora.com> -Emil
On Thu, Sep 06, 2018 at 12:38:46PM +0200, Daniel Vetter wrote: > On Thu, Sep 06, 2018 at 11:01:17AM +0100, Daniel Stone wrote: > > GitLab CI already captures all the stdout/stderr output from the build > > process as the log. However, some other important information is hidden > > in other log files. > > > > Taken from Wayland, capture logs from the configuration process as well > > as from every check. > > > > Signed-off-by: Daniel Stone <daniels@collabora.com> > > Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com> > > Cc: Lucas De Marchi <lucas.de.marchi@gmail.com> > > Cc: Eric Engeström <eric.engestrom@intel.com> > > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > > I think there's also an option to capture all non-tracked files when the > build fails. For the lazy :-) But this looks good too. One person's lazy is another person's efficient [1] :-) Sean [1]- https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/commit/68a78ef6bd8b8ddf710e9a0654fa47cdc1f158d3#587d266bb27a4dc3022bbed44dfa19849df3044c_17_15 > > Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > --- > > .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ > > 1 file changed, 26 insertions(+) > > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > > index eee6abfc..50ec8527 100644 > > --- a/.gitlab-ci.yml > > +++ b/.gitlab-ci.yml > > @@ -1,6 +1,29 @@ > > +.artifacts-meson: &artifacts-meson > > + when: always > > + paths: > > + - _build/meson-logs > > + > > +.artifacts-autotools: &artifacts-autotools > > + when: always > > + paths: > > + - _build/*.log > > + - _build/amdgpu/*.log > > + - _build/etnaviv/*.log > > + - _build/exynos/*.log > > + - _build/freedreno/*.log > > + - _build/intel/*.log > > + - _build/libkms/*.log > > + - _build/nouveau/*.log > > + - _build/omap/*.log > > + - _build/radeon/*.log > > + - _build/tegra/*.log > > + - _build/tests/*.log > > + - _build/tests/*/*.log > > + > > latest-meson: > > stage: build > > image: base/archlinux:latest > > + artifacts: *artifacts-meson > > before_script: > > - pacman -Syu --noconfirm --needed > > base-devel > > @@ -35,6 +58,7 @@ latest-meson: > > latest-autotools: > > stage: build > > image: base/archlinux:latest > > + artifacts: *artifacts-autotools > > before_script: > > - pacman -Syu --noconfirm --needed > > base-devel > > @@ -69,6 +93,7 @@ latest-autotools: > > oldest-meson: > > stage: build > > image: debian:stable > > + artifacts: *artifacts-meson > > before_script: > > - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" > > 'path-exclude=/usr/share/doc/*' > > @@ -125,6 +150,7 @@ oldest-meson: > > oldest-autotools: > > stage: build > > image: debian:stable > > + artifacts: *artifacts-autotools > > before_script: > > - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" > > 'path-exclude=/usr/share/doc/*' > > -- > > 2.19.0.rc0 > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eee6abfc..50ec8527 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,29 @@ +.artifacts-meson: &artifacts-meson + when: always + paths: + - _build/meson-logs + +.artifacts-autotools: &artifacts-autotools + when: always + paths: + - _build/*.log + - _build/amdgpu/*.log + - _build/etnaviv/*.log + - _build/exynos/*.log + - _build/freedreno/*.log + - _build/intel/*.log + - _build/libkms/*.log + - _build/nouveau/*.log + - _build/omap/*.log + - _build/radeon/*.log + - _build/tegra/*.log + - _build/tests/*.log + - _build/tests/*/*.log + latest-meson: stage: build image: base/archlinux:latest + artifacts: *artifacts-meson before_script: - pacman -Syu --noconfirm --needed base-devel @@ -35,6 +58,7 @@ latest-meson: latest-autotools: stage: build image: base/archlinux:latest + artifacts: *artifacts-autotools before_script: - pacman -Syu --noconfirm --needed base-devel @@ -69,6 +93,7 @@ latest-autotools: oldest-meson: stage: build image: debian:stable + artifacts: *artifacts-meson before_script: - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" 'path-exclude=/usr/share/doc/*' @@ -125,6 +150,7 @@ oldest-meson: oldest-autotools: stage: build image: debian:stable + artifacts: *artifacts-autotools before_script: - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n" 'path-exclude=/usr/share/doc/*'
GitLab CI already captures all the stdout/stderr output from the build process as the log. However, some other important information is hidden in other log files. Taken from Wayland, capture logs from the configuration process as well as from every check. Signed-off-by: Daniel Stone <daniels@collabora.com> Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com> Cc: Lucas De Marchi <lucas.de.marchi@gmail.com> Cc: Eric Engeström <eric.engestrom@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> --- .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)