[12/20] gitlab: Use -w flag for all builds

Message ID 20200307030734.237401-8-sjg@chromium.org
State New
Headers show
Series
  • gitlab: Simplify the test script
Related show

Commit Message

Simon Glass March 7, 2020, 3:07 a.m.
Avoid needing to know about the internal .bm-work directory, by passing
the -w flag to buildman.

Also drop the repeated call to buildman since the first one should show
all the expected output. We only need to use -s if we are building
multiple boards and want the errors to be coalesced. In this case we are
only building a single board.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 .gitlab-ci.yml | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

Comments

Tom Rini March 9, 2020, 5:58 p.m. | #1
On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> Avoid needing to know about the internal .bm-work directory, by passing
> the -w flag to buildman.
> 
> Also drop the repeated call to buildman since the first one should show
> all the expected output. We only need to use -s if we are building
> multiple boards and want the errors to be coalesced. In this case we are
> only building a single board.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>  .gitlab-ci.yml | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index b29d59d942..bbd05aa872 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -29,11 +29,11 @@ stages:
>    script:
>      # From buildman, exit code 129 means warnings only.  If we've been asked to
>      # use clang only do one configuration.
> +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
>      - ret=0;
> -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> -        || ret=$?;
> +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
>        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
>          exit $ret;
>        fi

The repeated call is so that when we have a CI error from buildman the
error is at the bottom of the output and we don't have to hunt for it,
so I'm not sure this is a developer-friendly change.
Simon Glass March 15, 2020, 3:10 a.m. | #2
Hi Tom,

On Mon, 9 Mar 2020 at 11:58, Tom Rini <trini at konsulko.com> wrote:
>
> On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> > Avoid needing to know about the internal .bm-work directory, by passing
> > the -w flag to buildman.
> >
> > Also drop the repeated call to buildman since the first one should show
> > all the expected output. We only need to use -s if we are building
> > multiple boards and want the errors to be coalesced. In this case we are
> > only building a single board.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> >  .gitlab-ci.yml | 9 ++++-----
> >  1 file changed, 4 insertions(+), 5 deletions(-)
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index b29d59d942..bbd05aa872 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -29,11 +29,11 @@ stages:
> >    script:
> >      # From buildman, exit code 129 means warnings only.  If we've been asked to
> >      # use clang only do one configuration.
> > +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> >      - ret=0;
> > -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> > -        || ret=$?;
> > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> >        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
> >          exit $ret;
> >        fi
>
> The repeated call is so that when we have a CI error from buildman the
> error is at the bottom of the output and we don't have to hunt for it,
> so I'm not sure this is a developer-friendly change.

I don't quite get this, since the two buildman calls are one after the
other. What difference do you see in the output?

Regards,
Simon
Tom Rini March 15, 2020, 1:03 p.m. | #3
On Sat, Mar 14, 2020 at 09:10:07PM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Mon, 9 Mar 2020 at 11:58, Tom Rini <trini at konsulko.com> wrote:
> >
> > On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> > > Avoid needing to know about the internal .bm-work directory, by passing
> > > the -w flag to buildman.
> > >
> > > Also drop the repeated call to buildman since the first one should show
> > > all the expected output. We only need to use -s if we are building
> > > multiple boards and want the errors to be coalesced. In this case we are
> > > only building a single board.
> > >
> > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > ---
> > >
> > >  .gitlab-ci.yml | 9 ++++-----
> > >  1 file changed, 4 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > index b29d59d942..bbd05aa872 100644
> > > --- a/.gitlab-ci.yml
> > > +++ b/.gitlab-ci.yml
> > > @@ -29,11 +29,11 @@ stages:
> > >    script:
> > >      # From buildman, exit code 129 means warnings only.  If we've been asked to
> > >      # use clang only do one configuration.
> > > +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> > >      - ret=0;
> > > -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> > > -        || ret=$?;
> > > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > > +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > >        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > > -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
> > >          exit $ret;
> > >        fi
> >
> > The repeated call is so that when we have a CI error from buildman the
> > error is at the bottom of the output and we don't have to hunt for it,
> > so I'm not sure this is a developer-friendly change.
> 
> I don't quite get this, since the two buildman calls are one after the
> other. What difference do you see in the output?

Instead of having the errors be throughout the page we see something
like:
arch: +BOARD1 BOARD2
+(BOARD1,BOARD2) error..

At the bottom of the page.  So you open the failed build link, hit "End"
and there's where to find what to fix.
Simon Glass March 15, 2020, 3:07 p.m. | #4
Hi Tom,

On Sun, 15 Mar 2020 at 07:03, Tom Rini <trini at konsulko.com> wrote:
>
> On Sat, Mar 14, 2020 at 09:10:07PM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Mon, 9 Mar 2020 at 11:58, Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> > > > Avoid needing to know about the internal .bm-work directory, by passing
> > > > the -w flag to buildman.
> > > >
> > > > Also drop the repeated call to buildman since the first one should show
> > > > all the expected output. We only need to use -s if we are building
> > > > multiple boards and want the errors to be coalesced. In this case we are
> > > > only building a single board.
> > > >
> > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > ---
> > > >
> > > >  .gitlab-ci.yml | 9 ++++-----
> > > >  1 file changed, 4 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > > index b29d59d942..bbd05aa872 100644
> > > > --- a/.gitlab-ci.yml
> > > > +++ b/.gitlab-ci.yml
> > > > @@ -29,11 +29,11 @@ stages:
> > > >    script:
> > > >      # From buildman, exit code 129 means warnings only.  If we've been asked to
> > > >      # use clang only do one configuration.
> > > > +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> > > >      - ret=0;
> > > > -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> > > > -        || ret=$?;
> > > > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > > > +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > > >        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > > > -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
> > > >          exit $ret;
> > > >        fi
> > >
> > > The repeated call is so that when we have a CI error from buildman the
> > > error is at the bottom of the output and we don't have to hunt for it,
> > > so I'm not sure this is a developer-friendly change.
> >
> > I don't quite get this, since the two buildman calls are one after the
> > other. What difference do you see in the output?
>
> Instead of having the errors be throughout the page we see something
> like:
> arch: +BOARD1 BOARD2
> +(BOARD1,BOARD2) error..
>
> At the bottom of the page.  So you open the failed build link, hit "End"
> and there's where to find what to fix.

Yes I see. But in this case we are only building a single board so
there should be no difference.

BTW it looks like we are not using the -l flag for the 'multiple
build' case, so we shouldn't see the (BOARD1,BOARD2) thing.

Regards,
Simon
Tom Rini March 15, 2020, 3:23 p.m. | #5
On Sun, Mar 15, 2020 at 09:07:54AM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Sun, 15 Mar 2020 at 07:03, Tom Rini <trini at konsulko.com> wrote:
> >
> > On Sat, Mar 14, 2020 at 09:10:07PM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Mon, 9 Mar 2020 at 11:58, Tom Rini <trini at konsulko.com> wrote:
> > > >
> > > > On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> > > > > Avoid needing to know about the internal .bm-work directory, by passing
> > > > > the -w flag to buildman.
> > > > >
> > > > > Also drop the repeated call to buildman since the first one should show
> > > > > all the expected output. We only need to use -s if we are building
> > > > > multiple boards and want the errors to be coalesced. In this case we are
> > > > > only building a single board.
> > > > >
> > > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > > ---
> > > > >
> > > > >  .gitlab-ci.yml | 9 ++++-----
> > > > >  1 file changed, 4 insertions(+), 5 deletions(-)
> > > > >
> > > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > > > index b29d59d942..bbd05aa872 100644
> > > > > --- a/.gitlab-ci.yml
> > > > > +++ b/.gitlab-ci.yml
> > > > > @@ -29,11 +29,11 @@ stages:
> > > > >    script:
> > > > >      # From buildman, exit code 129 means warnings only.  If we've been asked to
> > > > >      # use clang only do one configuration.
> > > > > +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> > > > >      - ret=0;
> > > > > -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> > > > > -        || ret=$?;
> > > > > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > > > > +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > > > >        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > > > > -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
> > > > >          exit $ret;
> > > > >        fi
> > > >
> > > > The repeated call is so that when we have a CI error from buildman the
> > > > error is at the bottom of the output and we don't have to hunt for it,
> > > > so I'm not sure this is a developer-friendly change.
> > >
> > > I don't quite get this, since the two buildman calls are one after the
> > > other. What difference do you see in the output?
> >
> > Instead of having the errors be throughout the page we see something
> > like:
> > arch: +BOARD1 BOARD2
> > +(BOARD1,BOARD2) error..
> >
> > At the bottom of the page.  So you open the failed build link, hit "End"
> > and there's where to find what to fix.
> 
> Yes I see. But in this case we are only building a single board so
> there should be no difference.
> 
> BTW it looks like we are not using the -l flag for the 'multiple
> build' case, so we shouldn't see the (BOARD1,BOARD2) thing.

Perhaps this is a good example of why I'm asking for the commit message
to be clearer about the tests being changed :)  But isn't this also the
same build area as the general builds?
Simon Glass March 15, 2020, 3:50 p.m. | #6
Hi Tom,

On Sun, 15 Mar 2020 at 09:23, Tom Rini <trini at konsulko.com> wrote:
>
> On Sun, Mar 15, 2020 at 09:07:54AM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Sun, 15 Mar 2020 at 07:03, Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Sat, Mar 14, 2020 at 09:10:07PM -0600, Simon Glass wrote:
> > > > Hi Tom,
> > > >
> > > > On Mon, 9 Mar 2020 at 11:58, Tom Rini <trini at konsulko.com> wrote:
> > > > >
> > > > > On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> > > > > > Avoid needing to know about the internal .bm-work directory, by passing
> > > > > > the -w flag to buildman.
> > > > > >
> > > > > > Also drop the repeated call to buildman since the first one should show
> > > > > > all the expected output. We only need to use -s if we are building
> > > > > > multiple boards and want the errors to be coalesced. In this case we are
> > > > > > only building a single board.
> > > > > >
> > > > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > > > ---
> > > > > >
> > > > > >  .gitlab-ci.yml | 9 ++++-----
> > > > > >  1 file changed, 4 insertions(+), 5 deletions(-)
> > > > > >
> > > > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > > > > index b29d59d942..bbd05aa872 100644
> > > > > > --- a/.gitlab-ci.yml
> > > > > > +++ b/.gitlab-ci.yml
> > > > > > @@ -29,11 +29,11 @@ stages:
> > > > > >    script:
> > > > > >      # From buildman, exit code 129 means warnings only.  If we've been asked to
> > > > > >      # use clang only do one configuration.
> > > > > > +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> > > > > >      - ret=0;
> > > > > > -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> > > > > > -        || ret=$?;
> > > > > > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > > > > > +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > > > > >        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > > > > > -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
> > > > > >          exit $ret;
> > > > > >        fi
> > > > >
> > > > > The repeated call is so that when we have a CI error from buildman the
> > > > > error is at the bottom of the output and we don't have to hunt for it,
> > > > > so I'm not sure this is a developer-friendly change.
> > > >
> > > > I don't quite get this, since the two buildman calls are one after the
> > > > other. What difference do you see in the output?
> > >
> > > Instead of having the errors be throughout the page we see something
> > > like:
> > > arch: +BOARD1 BOARD2
> > > +(BOARD1,BOARD2) error..
> > >
> > > At the bottom of the page.  So you open the failed build link, hit "End"
> > > and there's where to find what to fix.
> >
> > Yes I see. But in this case we are only building a single board so
> > there should be no difference.
> >
> > BTW it looks like we are not using the -l flag for the 'multiple
> > build' case, so we shouldn't see the (BOARD1,BOARD2) thing.
>
> Perhaps this is a good example of why I'm asking for the commit message
> to be clearer about the tests being changed :)  But isn't this also the
> same build area as the general builds?

Yes I'll update the commit subjects.

This is the buildman_and_testpy_template section, which is only used
to build a single board, so far as I can tell.

Regards,
Simon
Tom Rini March 15, 2020, 4:18 p.m. | #7
On Sun, Mar 15, 2020 at 09:50:30AM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Sun, 15 Mar 2020 at 09:23, Tom Rini <trini at konsulko.com> wrote:
> >
> > On Sun, Mar 15, 2020 at 09:07:54AM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Sun, 15 Mar 2020 at 07:03, Tom Rini <trini at konsulko.com> wrote:
> > > >
> > > > On Sat, Mar 14, 2020 at 09:10:07PM -0600, Simon Glass wrote:
> > > > > Hi Tom,
> > > > >
> > > > > On Mon, 9 Mar 2020 at 11:58, Tom Rini <trini at konsulko.com> wrote:
> > > > > >
> > > > > > On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> > > > > > > Avoid needing to know about the internal .bm-work directory, by passing
> > > > > > > the -w flag to buildman.
> > > > > > >
> > > > > > > Also drop the repeated call to buildman since the first one should show
> > > > > > > all the expected output. We only need to use -s if we are building
> > > > > > > multiple boards and want the errors to be coalesced. In this case we are
> > > > > > > only building a single board.
> > > > > > >
> > > > > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > > > > ---
> > > > > > >
> > > > > > >  .gitlab-ci.yml | 9 ++++-----
> > > > > > >  1 file changed, 4 insertions(+), 5 deletions(-)
> > > > > > >
> > > > > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > > > > > index b29d59d942..bbd05aa872 100644
> > > > > > > --- a/.gitlab-ci.yml
> > > > > > > +++ b/.gitlab-ci.yml
> > > > > > > @@ -29,11 +29,11 @@ stages:
> > > > > > >    script:
> > > > > > >      # From buildman, exit code 129 means warnings only.  If we've been asked to
> > > > > > >      # use clang only do one configuration.
> > > > > > > +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> > > > > > >      - ret=0;
> > > > > > > -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> > > > > > > -        || ret=$?;
> > > > > > > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > > > > > > +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > > > > > >        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > > > > > > -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
> > > > > > >          exit $ret;
> > > > > > >        fi
> > > > > >
> > > > > > The repeated call is so that when we have a CI error from buildman the
> > > > > > error is at the bottom of the output and we don't have to hunt for it,
> > > > > > so I'm not sure this is a developer-friendly change.
> > > > >
> > > > > I don't quite get this, since the two buildman calls are one after the
> > > > > other. What difference do you see in the output?
> > > >
> > > > Instead of having the errors be throughout the page we see something
> > > > like:
> > > > arch: +BOARD1 BOARD2
> > > > +(BOARD1,BOARD2) error..
> > > >
> > > > At the bottom of the page.  So you open the failed build link, hit "End"
> > > > and there's where to find what to fix.
> > >
> > > Yes I see. But in this case we are only building a single board so
> > > there should be no difference.
> > >
> > > BTW it looks like we are not using the -l flag for the 'multiple
> > > build' case, so we shouldn't see the (BOARD1,BOARD2) thing.
> >
> > Perhaps this is a good example of why I'm asking for the commit message
> > to be clearer about the tests being changed :)  But isn't this also the
> > same build area as the general builds?
> 
> Yes I'll update the commit subjects.
> 
> This is the buildman_and_testpy_template section, which is only used
> to build a single board, so far as I can tell.

OK then yes, the cases where we are building a single board it would
make sense to not do the second build.  Thanks!
Simon Glass March 15, 2020, 4:43 p.m. | #8
Hi Tom,

On Sun, 15 Mar 2020 at 10:18, Tom Rini <trini at konsulko.com> wrote:
>
> On Sun, Mar 15, 2020 at 09:50:30AM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Sun, 15 Mar 2020 at 09:23, Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Sun, Mar 15, 2020 at 09:07:54AM -0600, Simon Glass wrote:
> > > > Hi Tom,
> > > >
> > > > On Sun, 15 Mar 2020 at 07:03, Tom Rini <trini at konsulko.com> wrote:
> > > > >
> > > > > On Sat, Mar 14, 2020 at 09:10:07PM -0600, Simon Glass wrote:
> > > > > > Hi Tom,
> > > > > >
> > > > > > On Mon, 9 Mar 2020 at 11:58, Tom Rini <trini at konsulko.com> wrote:
> > > > > > >
> > > > > > > On Fri, Mar 06, 2020 at 08:07:26PM -0700, Simon Glass wrote:
> > > > > > > > Avoid needing to know about the internal .bm-work directory, by passing
> > > > > > > > the -w flag to buildman.
> > > > > > > >
> > > > > > > > Also drop the repeated call to buildman since the first one should show
> > > > > > > > all the expected output. We only need to use -s if we are building
> > > > > > > > multiple boards and want the errors to be coalesced. In this case we are
> > > > > > > > only building a single board.
> > > > > > > >
> > > > > > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > > > > > ---
> > > > > > > >
> > > > > > > >  .gitlab-ci.yml | 9 ++++-----
> > > > > > > >  1 file changed, 4 insertions(+), 5 deletions(-)
> > > > > > > >
> > > > > > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > > > > > > index b29d59d942..bbd05aa872 100644
> > > > > > > > --- a/.gitlab-ci.yml
> > > > > > > > +++ b/.gitlab-ci.yml
> > > > > > > > @@ -29,11 +29,11 @@ stages:
> > > > > > > >    script:
> > > > > > > >      # From buildman, exit code 129 means warnings only.  If we've been asked to
> > > > > > > >      # use clang only do one configuration.
> > > > > > > > +    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> > > > > > > >      - ret=0;
> > > > > > > > -      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
> > > > > > > > -        || ret=$?;
> > > > > > > > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > > > > > > > +        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > > > > > > >        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > > > > > > > -        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
> > > > > > > >          exit $ret;
> > > > > > > >        fi
> > > > > > >
> > > > > > > The repeated call is so that when we have a CI error from buildman the
> > > > > > > error is at the bottom of the output and we don't have to hunt for it,
> > > > > > > so I'm not sure this is a developer-friendly change.
> > > > > >
> > > > > > I don't quite get this, since the two buildman calls are one after the
> > > > > > other. What difference do you see in the output?
> > > > >
> > > > > Instead of having the errors be throughout the page we see something
> > > > > like:
> > > > > arch: +BOARD1 BOARD2
> > > > > +(BOARD1,BOARD2) error..
> > > > >
> > > > > At the bottom of the page.  So you open the failed build link, hit "End"
> > > > > and there's where to find what to fix.
> > > >
> > > > Yes I see. But in this case we are only building a single board so
> > > > there should be no difference.
> > > >
> > > > BTW it looks like we are not using the -l flag for the 'multiple
> > > > build' case, so we shouldn't see the (BOARD1,BOARD2) thing.
> > >
> > > Perhaps this is a good example of why I'm asking for the commit message
> > > to be clearer about the tests being changed :)  But isn't this also the
> > > same build area as the general builds?
> >
> > Yes I'll update the commit subjects.
> >
> > This is the buildman_and_testpy_template section, which is only used
> > to build a single board, so far as I can tell.
>
> OK then yes, the cases where we are building a single board it would
> make sense to not do the second build.  Thanks!

OK.

Also I think I got my 'kea' gitlab runner working. Do you want to try
to add it to the group runners?

Regards,
Simon

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b29d59d942..bbd05aa872 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,11 +29,11 @@  stages:
   script:
     # From buildman, exit code 129 means warnings only.  If we've been asked to
     # use clang only do one configuration.
+    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
     - ret=0;
-      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
-        || ret=$?;
+      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
+        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
       if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
         exit $ret;
       fi
     # "not a_test_which_does_not_exist" is a dummy -k parameter which will
@@ -43,8 +43,7 @@  stages:
     - virtualenv -p /usr/bin/python3 /tmp/venv
     - . /tmp/venv/bin/activate
     - pip install -r test/py/requirements.txt
-    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/${TEST_PY_BD};
-      export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
+    - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
       export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
       ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
         -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"