All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/5] Bring all testings in gitlab and travis CI to Azure Pipelines
@ 2019-10-28 14:24 Bin Meng
  2019-10-28 14:24 ` [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg Bin Meng
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Bin Meng @ 2019-10-28 14:24 UTC (permalink / raw)
  To: u-boot

At present we have set up a Microsoft Azure Pipelines to build
U-Boot host tools for Windows. We can expand it to cover all the
CI testing in gitlab and travis CI.

There are issues if we use the 'container' keyword in the pipeline,
that buildman seems to not able to exit correctly and hangs forever.
So we manually call docker to run the image to perform the CI tasks.
Unfortunately with above configuration, the uboot user inside the
container does not have the write permission to the U-Boot git repo,
and this exposes several issues in the U-Boot build process.

With all such issues fixed, a complete run on Azure Pipelines takes
about 2 hours and 10 minutes. It seems to be a good backup for the
free travis CI service.

This series depends on
http://patchwork.ozlabs.org/project/uboot/list/?series=138998

and is avaiable at u-boot-x86/azure for testing.

Changes in v2:
- remove the unneeded debug codes

Bin Meng (5):
  tools: buildman: Honor output directory when generating boards.cfg
  tools: buildman: Remove useless mkdir() in Make() in test.py
  arm: mvebu: Avoid generating kwbimage.cfg in the source tree
  .travis.yml: Remove the unneeded '&' for ls20xx buildman
  Bring all testings in gitlab and travis CI to Azure Pipelines

 .azure-pipelines.yml                 | 382 +++++++++++++++++++++++++++++++++++
 .travis.yml                          |   2 +-
 Makefile                             |  15 +-
 arch/arm/mach-mvebu/Makefile         |   4 +-
 board/Marvell/db-88f6281-bp/Makefile |   4 +-
 board/Marvell/db-xc3-24g4xg/Makefile |   4 +-
 board/mikrotik/crs305-1g-4s/Makefile |   4 +-
 tools/buildman/control.py            |  10 +-
 tools/buildman/test.py               |   8 -
 9 files changed, 409 insertions(+), 24 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg
  2019-10-28 14:24 [U-Boot] [PATCH v2 0/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
@ 2019-10-28 14:24 ` Bin Meng
  2019-10-29  3:32   ` Simon Glass
  2019-10-30 17:03   ` Tom Rini
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py Bin Meng
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 18+ messages in thread
From: Bin Meng @ 2019-10-28 14:24 UTC (permalink / raw)
  To: u-boot

buildman always generates boards.cfg in the U-Boot source tree.
When '-o' is given, we should generate boards.cfg to the given
output directory.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

Changes in v2: None

 tools/buildman/control.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index fcf531c..9787b86 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -201,14 +201,14 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
 
     # Work out what subset of the boards we are building
     if not boards:
-        board_file = os.path.join(options.git, 'boards.cfg')
-        status = subprocess.call([os.path.join(options.git,
-                                                'tools/genboardscfg.py')])
+        board_file = os.path.join(options.output_dir, 'boards.cfg')
+        genboardscfg = os.path.join(options.git, 'tools/genboardscfg.py')
+        status = subprocess.call([genboardscfg, '-o', board_file])
         if status != 0:
-                sys.exit("Failed to generate boards.cfg")
+            sys.exit("Failed to generate boards.cfg")
 
         boards = board.Boards()
-        boards.ReadBoards(os.path.join(options.git, 'boards.cfg'))
+        boards.ReadBoards(board_file)
 
     exclude = []
     if options.exclude:
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py
  2019-10-28 14:24 [U-Boot] [PATCH v2 0/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
  2019-10-28 14:24 ` [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg Bin Meng
@ 2019-10-28 14:25 ` Bin Meng
  2019-10-29  3:37   ` Simon Glass
  2019-10-30 17:03   ` Tom Rini
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree Bin Meng
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 18+ messages in thread
From: Bin Meng @ 2019-10-28 14:25 UTC (permalink / raw)
  To: u-boot

In the 'Make' function, the codes tries to create a directory
if current stage is 'build'. But the directory isn't used at
all anywhere.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

---

Changes in v2:
- remove the unneeded debug codes

 tools/buildman/test.py | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/tools/buildman/test.py b/tools/buildman/test.py
index de02f61..ed99b93 100644
--- a/tools/buildman/test.py
+++ b/tools/buildman/test.py
@@ -156,14 +156,6 @@ class TestBuild(unittest.TestCase):
             result.return_code = commit.return_code
             result.stderr = (''.join(commit.error_list)
                 % {'basedir' : base_dir + '/.bm-work/00/'})
-        if stage == 'build':
-            target_dir = None
-            for arg in args:
-                if arg.startswith('O='):
-                    target_dir = arg[2:]
-
-            if not os.path.isdir(target_dir):
-                os.mkdir(target_dir)
 
         result.combined = result.stdout + result.stderr
         return result
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree
  2019-10-28 14:24 [U-Boot] [PATCH v2 0/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
  2019-10-28 14:24 ` [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg Bin Meng
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py Bin Meng
@ 2019-10-28 14:25 ` Bin Meng
  2019-10-29  3:37   ` Simon Glass
  2019-10-30 17:03   ` Tom Rini
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman Bin Meng
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 5/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
  4 siblings, 2 replies; 18+ messages in thread
From: Bin Meng @ 2019-10-28 14:25 UTC (permalink / raw)
  To: u-boot

At present some boards generate kwbimage.cfg in the source tree
during the build. This breaks buildman testing on some systems
where the source tree is read-only. Update makefile rules to
generate it in the build tree instead.

Note some other boards have the kwbimage.cfg file written in
advance, hence we need check if the file exists in the build
tree first, otherwise we fall back to one in the source tree.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
---

Changes in v2: None

 Makefile                             | 15 +++++++++++++--
 arch/arm/mach-mvebu/Makefile         |  4 ++--
 board/Marvell/db-88f6281-bp/Makefile |  4 ++--
 board/Marvell/db-xc3-24g4xg/Makefile |  4 ++--
 board/mikrotik/crs305-1g-4s/Makefile |  4 ++--
 5 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index e78b317..61b94c5 100644
--- a/Makefile
+++ b/Makefile
@@ -1276,10 +1276,21 @@ endif
 
 MKIMAGEFLAGS_u-boot-dtb.img = $(MKIMAGEFLAGS_u-boot.img)
 
-MKIMAGEFLAGS_u-boot.kwb = -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
+# Some boards have the kwbimage.cfg file written in advance, while some
+# other boards generate it on the fly during the build in the build tree.
+# Let's check if the file exists in the build tree first, otherwise we
+# fall back to use the one in the source tree.
+KWD_CONFIG_FILE = $(shell \
+	if [ -f $(objtree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) ]; then \
+		echo -n $(objtree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%); \
+	else \
+		echo -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%); \
+	fi)
+
+MKIMAGEFLAGS_u-boot.kwb = -n $(KWD_CONFIG_FILE) \
 	-T kwbimage -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE)
 
-MKIMAGEFLAGS_u-boot-spl.kwb = -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
+MKIMAGEFLAGS_u-boot-spl.kwb = -n $(KWD_CONFIG_FILE) \
 	-T kwbimage -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) \
 	$(if $(KEYDIR),-k $(KEYDIR))
 
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
index 8228a17..b739520 100644
--- a/arch/arm/mach-mvebu/Makefile
+++ b/arch/arm/mach-mvebu/Makefile
@@ -58,10 +58,10 @@ KWB_REPLACE += SEC_FUSE_DUMP
 KWB_CFG_SEC_FUSE_DUMP = a38x
 endif
 
-$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
+$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
 		include/config/auto.conf
 	$(Q)sed -ne '$(foreach V,$(KWB_REPLACE),s/^#@$(V)/$(V) $(KWB_CFG_$(V))/;)p' \
-	<$< >$(dir $<)$(@F)
+	<$< >$(dir $@)$(@F)
 
 endif # CONFIG_SPL_BUILD
 obj-y	+= gpio.o
diff --git a/board/Marvell/db-88f6281-bp/Makefile b/board/Marvell/db-88f6281-bp/Makefile
index e6aa7e3..003e9f6 100644
--- a/board/Marvell/db-88f6281-bp/Makefile
+++ b/board/Marvell/db-88f6281-bp/Makefile
@@ -4,9 +4,9 @@ obj-y	:= db-88f6281-bp.o
 extra-y := kwbimage.cfg
 
 quiet_cmd_sed = SED     $@
-      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
+      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
 
 SEDFLAGS_kwbimage.cfg = -e "s/^\#@BOOT_FROM.*/BOOT_FROM	$(if $(CONFIG_CMD_NAND),nand,spi)/"
-$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
+$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
 		include/config/auto.conf
 	$(call if_changed,sed)
diff --git a/board/Marvell/db-xc3-24g4xg/Makefile b/board/Marvell/db-xc3-24g4xg/Makefile
index 4dd5790..24e8200 100644
--- a/board/Marvell/db-xc3-24g4xg/Makefile
+++ b/board/Marvell/db-xc3-24g4xg/Makefile
@@ -6,9 +6,9 @@ obj-y	:= db-xc3-24g4xg.o
 extra-y	:= kwbimage.cfg
 
 quiet_cmd_sed = SED     $@
-      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
+      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
 
 SEDFLAGS_kwbimage.cfg =-e "s|^BINARY.*|BINARY $(srctree)/$(@D)/binary.0 0000005b 00000068|"
-$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
+$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
 		include/config/auto.conf
 	  $(call if_changed,sed)
diff --git a/board/mikrotik/crs305-1g-4s/Makefile b/board/mikrotik/crs305-1g-4s/Makefile
index 895331b..c03f534 100644
--- a/board/mikrotik/crs305-1g-4s/Makefile
+++ b/board/mikrotik/crs305-1g-4s/Makefile
@@ -6,9 +6,9 @@ obj-y	:= crs305-1g-4s.o
 extra-y	:= kwbimage.cfg
 
 quiet_cmd_sed = SED     $@
-      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
+      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
 
 SEDFLAGS_kwbimage.cfg =-e "s|^BINARY.*|BINARY $(srctree)/$(@D)/binary.0 0000005b 00000068|"
-$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
+$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
 		include/config/auto.conf
 	  $(call if_changed,sed)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman
  2019-10-28 14:24 [U-Boot] [PATCH v2 0/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
                   ` (2 preceding siblings ...)
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree Bin Meng
@ 2019-10-28 14:25 ` Bin Meng
  2019-10-29  3:37   ` Simon Glass
  2019-10-30 17:03   ` Tom Rini
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 5/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
  4 siblings, 2 replies; 18+ messages in thread
From: Bin Meng @ 2019-10-28 14:25 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
---

Changes in v2: None

 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index a3e7451..3aaed93 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -200,7 +200,7 @@ matrix:
         - BUILDMAN="freescale&aarch64&ls108"
     - name: "buildman NXP AArch64 LS20xx"
       env:
-        - BUILDMAN="freescale&aarch64&&ls20"
+        - BUILDMAN="freescale&aarch64&ls20"
     - name: "buildman NXP AArch64 LX216x"
       env:
         - BUILDMAN="freescale&aarch64&lx216"
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 5/5] Bring all testings in gitlab and travis CI to Azure Pipelines
  2019-10-28 14:24 [U-Boot] [PATCH v2 0/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
                   ` (3 preceding siblings ...)
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman Bin Meng
@ 2019-10-28 14:25 ` Bin Meng
  2019-10-30 17:03   ` Tom Rini
  4 siblings, 1 reply; 18+ messages in thread
From: Bin Meng @ 2019-10-28 14:25 UTC (permalink / raw)
  To: u-boot

This expands current Azure Pipelines Windows host tools build
testing to cover all the CI testing in gitlab and travis CI.

Note for some unknown reason, the 'container' cannot be used for
any jobs that have buildman, for buildman does not exit properly
and hangs the job forever. As a workaround, we manually call
docker to run the image to perform the CI tasks.

A complete run on Azure Pipelines takes about 2 hours and 10
minutes.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

---
See the build result at:
https://dev.azure.com/bmeng/GitHub/_build/results?buildId=109

Changes in v2: None

 .azure-pipelines.yml | 382 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 382 insertions(+)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 6c6b24e..d476d8d 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -1,5 +1,12 @@
 variables:
   windows_vm: vs2015-win2012r2
+  ubuntu_vm: ubuntu-18.04
+  ci_runner_image: trini/u-boot-gitlab-ci-runner:bionic-20190912.1-03Oct2019
+  # Add '-u 0' options for Azure pipelines, otherwise we get "permission
+  # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
+  # since our $(ci_runner_image) user is not root.
+  container_option: -u 0
+  work_dir: /u
 
 jobs:
   - job: tools_only_windows
@@ -36,3 +43,378 @@ jobs:
           MSYSTEM: MSYS
           # Tell MSYS2 not to ‘cd’ our startup directory to HOME
           CHERE_INVOKING: yes
+
+  - job: cppcheck
+    displayName: 'Static code analysis with cppcheck'
+    pool:
+      vmImage: $(ubuntu_vm)
+    container:
+      image: $(ci_runner_image)
+      options: $(container_option)
+    steps:
+      - script: cppcheck --force --quiet --inline-suppr .
+
+  - job: todo
+    displayName: 'Search for TODO within source tree'
+    pool:
+      vmImage: $(ubuntu_vm)
+    container:
+      image: $(ci_runner_image)
+      options: $(container_option)
+    steps:
+      - script: grep -r TODO .
+      - script: grep -r FIXME .
+      - script: grep -r HACK . | grep -v HACKKIT
+
+  - job: sloccount
+    displayName: 'Some statistics about the code base'
+    pool:
+      vmImage: $(ubuntu_vm)
+    container:
+      image: $(ci_runner_image)
+      options: $(container_option)
+    steps:
+      - script: sloccount .
+
+  - job: maintainers
+    displayName: 'Ensure all configs have MAINTAINERS entries'
+    pool:
+      vmImage: $(ubuntu_vm)
+    container:
+      image: $(ci_runner_image)
+      options: $(container_option)
+    steps:
+      - script: |
+          if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi
+
+  - job: tools_only
+    displayName: 'Ensure host tools build'
+    pool:
+      vmImage: $(ubuntu_vm)
+    container:
+      image: $(ci_runner_image)
+      options: $(container_option)
+    steps:
+      - script: |
+          make tools-only_config tools-only -j$(nproc)
+
+  - job: envtools
+    displayName: 'Ensure env tools build'
+    pool:
+      vmImage: $(ubuntu_vm)
+    container:
+      image: $(ci_runner_image)
+      options: $(container_option)
+    steps:
+      - script: |
+          make tools-only_config envtools -j$(nproc)
+
+  - job: utils
+    displayName: 'Run binman, buildman, dtoc and patman testsuites'
+    pool:
+      vmImage: $(ubuntu_vm)
+    steps:
+      - script: |
+          cat << EOF > build.sh
+          set -ex
+          cd ${WORK_DIR}
+          EOF
+          cat << "EOF" >> build.sh
+          git config --global user.name "Azure Pipelines"
+          git config --global user.email bmeng.cn at gmail.com
+          export USER=azure
+          virtualenv /tmp/venv
+          . /tmp/venv/bin/activate
+          pip install pyelftools
+          export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/sandbox_spl
+          export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt
+          export PATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}
+          ./tools/buildman/buildman -o /tmp -P sandbox_spl
+          ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test
+          ./tools/buildman/buildman -t
+          ./tools/dtoc/dtoc -t
+          ./tools/patman/patman --test
+          EOF
+          cat build.sh
+          # We cannot use "container" like other jobs above, as buildman
+          # seems to hang forever with pre-configured "container" environment
+          docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh
+
+  - job: test_py
+    displayName: 'test.py'
+    pool:
+      vmImage: $(ubuntu_vm)
+    strategy:
+      matrix:
+        sandbox:
+          TEST_PY_BD: "sandbox"
+          BUILDMAN: "^sandbox$"
+        sandbox_spl:
+          TEST_PY_BD: "sandbox_spl"
+          TEST_PY_TEST_SPEC: "test_ofplatdata"
+          BUILDMAN: "^sandbox_spl$"
+        sandbox_flattree:
+          TEST_PY_BD: "sandbox_flattree"
+          BUILDMAN: "^sandbox_flattree$"
+        evb_ast2500:
+          TEST_PY_BD: "evb-ast2500"
+          TEST_PY_ID: "--id qemu"
+          BUILDMAN: "^evb-ast2500$"
+        vexpress_ca15_tc2:
+          TEST_PY_BD: "vexpress_ca15_tc2"
+          TEST_PY_ID: "--id qemu"
+          BUILDMAN: "^vexpress_ca15_tc2$"
+        vexpress_ca9x4:
+          TEST_PY_BD: "vexpress_ca9x4"
+          TEST_PY_ID: "--id qemu"
+          BUILDMAN: "^vexpress_ca9x4$"
+        integratorcp_cm926ejs:
+          TEST_PY_BD: "integratorcp_cm926ejs"
+          TEST_PY_ID: "--id qemu"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^integratorcp_cm926ejs$"
+        qemu_arm:
+          TEST_PY_BD: "qemu_arm"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu_arm$"
+        qemu_arm64:
+          TEST_PY_BD: "qemu_arm64"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu_arm64$"
+        qemu_mips:
+          TEST_PY_BD: "qemu_mips"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu_mips$"
+        qemu_mipsel:
+          TEST_PY_BD: "qemu_mipsel"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu_mipsel$"
+        qemu_mips64:
+          TEST_PY_BD: "qemu_mips64"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu_mips64$"
+        qemu_mips64el:
+          TEST_PY_BD: "qemu_mips64el"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu_mips64el$"
+        qemu_ppce500:
+          TEST_PY_BD: "qemu-ppce500"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu-ppce500$"
+        qemu_riscv64:
+          TEST_PY_BD: "qemu-riscv64"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu-riscv64$"
+        qemu_x86:
+          TEST_PY_BD: "qemu-x86"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu-x86$"
+        qemu_x86_64:
+          TEST_PY_BD: "qemu-x86_64"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^qemu-x86_64$"
+        zynq_zc702:
+          TEST_PY_BD: "zynq_zc702"
+          TEST_PY_ID: "--id qemu"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^zynq_zc702$"
+        xilinx_versal_virt:
+          TEST_PY_BD: "xilinx_versal_virt"
+          TEST_PY_ID: "--id qemu"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^xilinx_versal_virt$"
+        xtfpga:
+          TEST_PY_BD: "xtfpga"
+          TEST_PY_ID: "--id qemu"
+          TEST_PY_TEST_SPEC: "not sleep"
+          BUILDMAN: "^xtfpga$"
+    steps:
+      - script: |
+          cat << EOF > test.sh
+          set -ex
+          # make environment variables available as tests are running inside a container
+          export WORK_DIR="${WORK_DIR}"
+          export TEST_PY_BD="${TEST_PY_BD}"
+          export TEST_PY_ID="${TEST_PY_ID}"
+          export TEST_PY_TEST_SPEC="${TEST_PY_TEST_SPEC}"
+          export BUILDMAN="${BUILDMAN}"
+          EOF
+          cat << "EOF" >> test.sh
+          # the below corresponds to .gitlab-ci.yml "before_script"
+          cd ${WORK_DIR}
+          git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
+          ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
+          ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
+          virtualenv /tmp/venv
+          . /tmp/venv/bin/activate
+          pip install pytest==2.8.7
+          pip install python-subunit
+          pip install coverage
+          grub-mkimage --prefix=\"\" -o ~/grub_x86.efi -O i386-efi normal  echo lsefimmap lsefi lsefisystab efinet tftp minicmd
+          grub-mkimage --prefix=\"\" -o ~/grub_x64.efi -O x86_64-efi normal  echo lsefimmap lsefi lsefisystab efinet tftp minicmd
+          mkdir ~/grub2-arm
+          cd ~/grub2-arm; wget -O - http://download.opensuse.org/ports/armv7hl/distribution/leap/42.2/repo/oss/suse/armv7hl/grub2-arm-efi-2.02~beta2-87.1.armv7hl.rpm | rpm2cpio | cpio -di
+          mkdir ~/grub2-arm64
+          cd ~/grub2-arm64; wget -O - http://download.opensuse.org/ports/aarch64/distribution/leap/42.2/repo/oss/suse/aarch64/grub2-arm64-efi-2.02~beta2-87.1.aarch64.rpm | rpm2cpio | cpio -di
+          # the below corresponds to .gitlab-ci.yml "script"
+          cd ${WORK_DIR}
+          if [[ "${BUILDMAN}" != "" ]]; then
+              ret=0;
+              tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE} || ret=$?;
+              if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+                  tools/buildman/buildman -o /tmp -sdeP ${BUILDMAN};
+                  exit $ret;
+              fi;
+          fi
+          export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/${TEST_PY_BD};
+          export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin;
+          export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
+          if [[ "${TEST_PY_BD}" != "" ]]; then
+              ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
+              ret=$?;
+              if [[ $ret -ne 0 ]]; then
+                  exit $ret;
+              fi;
+          fi
+          # the below corresponds to .gitlab-ci.yml "after_script"
+          rm -rf ~/grub2* /tmp/uboot-test-hooks /tmp/venv
+          EOF
+          cat test.sh
+          # make current directory writeable to uboot user inside the container
+          # as sandbox testing need create files like spi flash images, etc.
+          # (TODO: clean up this in the future)
+          chmod 777 .
+          docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/test.sh
+
+  - job: build_the_world
+    displayName: 'Build the World'
+    pool:
+      vmImage: $(ubuntu_vm)
+    strategy:
+      # Use almost the same target division in .travis.yml, only merged
+      # 4 small build jobs (arc/microblaze/nds32/xtensa) into one.
+      matrix:
+        arc_microblaze_nds32_xtensa:
+          BUILDMAN: "arc microblaze nds32 xtensa"
+        arm11_arm7_arm920t_arm946es:
+          BUILDMAN: "arm11 arm7 arm920t arm946es"
+        arm926ejs:
+          BUILDMAN: "arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap"
+        at91_non_armv7:
+          BUILDMAN: "at91 -x armv7"
+        at91_non_arm926ejs:
+          BUILDMAN: "at91 -x arm926ejs"
+        boundary_engicam_toradex:
+          BUILDMAN: "boundary engicam toradex"
+        arm_bcm:
+          BUILDMAN: "bcm -x mips"
+        nxp_arm32:
+          BUILDMAN: "freescale -x powerpc,m68k,aarch64"
+        nxp_aarch64_ls101x:
+          BUILDMAN: "freescale&aarch64&ls101"
+        nxp_aarch64_ls102x:
+          BUILDMAN: "freescale&aarch64&ls102"
+        nxp_aarch64_ls104x:
+          BUILDMAN: "freescale&aarch64&ls104"
+        nxp_aarch64_ls108x:
+          BUILDMAN: "freescale&aarch64&ls108"
+        nxp_aarch64_ls20xx:
+          BUILDMAN: "freescale&aarch64&ls20"
+        nxp_aarch64_lx216x:
+          BUILDMAN: "freescale&aarch64&lx216"
+        imx6:
+          BUILDMAN: "mx6 -x boundary,engicam,freescale,technexion,toradex"
+        imx:
+          BUILDMAN: "mx -x mx6,freescale,technexion,toradex"
+        keystone2_keystone3:
+          BUILDMAN: "k2 k3"
+        samsung_socfpga:
+          BUILDMAN: "samsung socfpga"
+        spear:
+          BUILDMAN: "spear"
+        sun4i:
+          BUILDMAN: "sun4i"
+        sun5i:
+          BUILDMAN: "sun5i"
+        sun6i:
+          BUILDMAN: "sun6i"
+        sun7i:
+          BUILDMAN: "sun7i"
+        sun8i_32bit:
+          BUILDMAN: "sun8i&armv7"
+        sun8i_64bit:
+          BUILDMAN: "sun8i&aarch64"
+        sun9i:
+          BUILDMAN: "sun9i"
+        sun50i:
+          BUILDMAN: "sun50i"
+        arm_catch_all:
+          BUILDMAN: "arm -x arm11,arm7,arm9,aarch64,at91,bcm,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,rockchip,toradex,socfpga,k2,k3,zynq"
+        sandbox_x86:
+          BUILDMAN: "sandbox x86"
+        technexion:
+          BUILDMAN: "technexion"
+        kirkwood:
+          BUILDMAN: "kirkwood"
+        mvebu:
+          BUILDMAN: "mvebu"
+        m68k:
+          BUILDMAN: "m68k"
+        mips:
+          BUILDMAN: "mips"
+        non_fsl_ppc:
+          BUILDMAN: "powerpc -x freescale"
+        mpc85xx_freescale:
+          BUILDMAN: "mpc85xx&freescale -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x bsc91*"
+        t208xrdb_corenet_ds:
+          BUILDMAN: "t208xrdb corenet_ds"
+        fsl_ppc:
+          BUILDMAN: "t4qds b4860qds mpc83xx&freescale mpc86xx&freescale"
+        t102x:
+          BUILDMAN: "t102*"
+        p1_p2_rdb_pc:
+          BUILDMAN: "p1_p2_rdb_pc"
+        p1010rdb_bsc91:
+          BUILDMAN: "p1010rdb bsc91"
+        siemens:
+          BUILDMAN: "siemens"
+        tegra:
+          BUILDMAN: "tegra -x toradex"
+        am33xx_no_siemens:
+          BUILDMAN: "am33xx -x siemens"
+        omap:
+          BUILDMAN: "omap"
+        uniphier:
+          BUILDMAN: "uniphier"
+        aarch64_catch_all:
+          BUILDMAN: "aarch64 -x bcm,k3,tegra,ls1,ls2,mvebu,uniphier,sunxi,samsung,rockchip,versal,zynq"
+        rockchip:
+          BUILDMAN: "rockchip"
+        sh:
+          BUILDMAN: "sh -x arm"
+        zynq:
+          BUILDMAN: "zynq&armv7"
+        zynqmp_versal:
+          BUILDMAN: "versal|zynqmp&aarch64"
+        riscv:
+          BUILDMAN: "riscv"
+    steps:
+      - script: |
+          cat << EOF > build.sh
+          set -ex
+          cd ${WORK_DIR}
+          # make environment variables available as tests are running inside a container
+          export BUILDMAN="${BUILDMAN}"
+          EOF
+          cat << "EOF" >> build.sh
+          if [[ "${BUILDMAN}" != "" ]]; then
+              ret=0;
+              tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE} || ret=$?;
+              if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+                  tools/buildman/buildman -o /tmp -sdeP ${BUILDMAN};
+                  exit $ret;
+              fi;
+          fi
+          EOF
+          cat build.sh
+          docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg
  2019-10-28 14:24 ` [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg Bin Meng
@ 2019-10-29  3:32   ` Simon Glass
  2019-10-29  7:11     ` Bin Meng
  2019-10-30 17:03   ` Tom Rini
  1 sibling, 1 reply; 18+ messages in thread
From: Simon Glass @ 2019-10-29  3:32 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On Mon, 28 Oct 2019 at 08:25, Bin Meng <bmeng.cn@gmail.com> wrote:
>
> buildman always generates boards.cfg in the U-Boot source tree.
> When '-o' is given, we should generate boards.cfg to the given
> output directory.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> Changes in v2: None
>
>  tools/buildman/control.py | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>

Reviewed-by: Simon Glass <sjg@chromium.org>

Does this preserve existing behaviour when -o is not given? I suppose
it doesn't matter so long as buildman uses the right file?

> diff --git a/tools/buildman/control.py b/tools/buildman/control.py
> index fcf531c..9787b86 100644
> --- a/tools/buildman/control.py
> +++ b/tools/buildman/control.py
> @@ -201,14 +201,14 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
>
>      # Work out what subset of the boards we are building
>      if not boards:
> -        board_file = os.path.join(options.git, 'boards.cfg')
> -        status = subprocess.call([os.path.join(options.git,
> -                                                'tools/genboardscfg.py')])
> +        board_file = os.path.join(options.output_dir, 'boards.cfg')
> +        genboardscfg = os.path.join(options.git, 'tools/genboardscfg.py')
> +        status = subprocess.call([genboardscfg, '-o', board_file])
>          if status != 0:
> -                sys.exit("Failed to generate boards.cfg")
> +            sys.exit("Failed to generate boards.cfg")
>
>          boards = board.Boards()
> -        boards.ReadBoards(os.path.join(options.git, 'boards.cfg'))
> +        boards.ReadBoards(board_file)
>
>      exclude = []
>      if options.exclude:
> --
> 2.7.4
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py Bin Meng
@ 2019-10-29  3:37   ` Simon Glass
  2019-10-29 13:56     ` Bin Meng
  2019-10-30 17:03   ` Tom Rini
  1 sibling, 1 reply; 18+ messages in thread
From: Simon Glass @ 2019-10-29  3:37 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On Mon, 28 Oct 2019 at 08:25, Bin Meng <bmeng.cn@gmail.com> wrote:
>
> In the 'Make' function, the codes tries to create a directory
> if current stage is 'build'. But the directory isn't used at
> all anywhere.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>
> ---
>
> Changes in v2:
> - remove the unneeded debug codes
>
>  tools/buildman/test.py | 8 --------
>  1 file changed, 8 deletions(-)

Can you check this works OK when there is no output dir at all? E.g.

-o /path/to/a/deep/non-existent/dir

Reviewed-by: Simon Glass <sjg@chromium.org>

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree Bin Meng
@ 2019-10-29  3:37   ` Simon Glass
  2019-10-30 17:03   ` Tom Rini
  1 sibling, 0 replies; 18+ messages in thread
From: Simon Glass @ 2019-10-29  3:37 UTC (permalink / raw)
  To: u-boot

On Mon, 28 Oct 2019 at 08:25, Bin Meng <bmeng.cn@gmail.com> wrote:
>
> At present some boards generate kwbimage.cfg in the source tree
> during the build. This breaks buildman testing on some systems
> where the source tree is read-only. Update makefile rules to
> generate it in the build tree instead.
>
> Note some other boards have the kwbimage.cfg file written in
> advance, hence we need check if the file exists in the build
> tree first, otherwise we fall back to one in the source tree.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Chris Packham <judge.packham@gmail.com>
> Reviewed-by: Stefan Roese <sr@denx.de>
> ---
>
> Changes in v2: None
>
>  Makefile                             | 15 +++++++++++++--
>  arch/arm/mach-mvebu/Makefile         |  4 ++--
>  board/Marvell/db-88f6281-bp/Makefile |  4 ++--
>  board/Marvell/db-xc3-24g4xg/Makefile |  4 ++--
>  board/mikrotik/crs305-1g-4s/Makefile |  4 ++--
>  5 files changed, 21 insertions(+), 10 deletions(-)
>

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman Bin Meng
@ 2019-10-29  3:37   ` Simon Glass
  2019-10-30 17:03   ` Tom Rini
  1 sibling, 0 replies; 18+ messages in thread
From: Simon Glass @ 2019-10-29  3:37 UTC (permalink / raw)
  To: u-boot

On Mon, 28 Oct 2019 at 08:25, Bin Meng <bmeng.cn@gmail.com> wrote:
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>
> Changes in v2: None
>
>  .travis.yml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>

Reviewed-by: Simon Glass <sjg@chromium.org>
> diff --git a/.travis.yml b/.travis.yml

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg
  2019-10-29  3:32   ` Simon Glass
@ 2019-10-29  7:11     ` Bin Meng
  0 siblings, 0 replies; 18+ messages in thread
From: Bin Meng @ 2019-10-29  7:11 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On Tue, Oct 29, 2019 at 11:32 AM Simon Glass <sjg@chromium.org> wrote:
>
> Hi Bin,
>
> On Mon, 28 Oct 2019 at 08:25, Bin Meng <bmeng.cn@gmail.com> wrote:
> >
> > buildman always generates boards.cfg in the U-Boot source tree.
> > When '-o' is given, we should generate boards.cfg to the given
> > output directory.
> >
> > Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> > ---
> >
> > Changes in v2: None
> >
> >  tools/buildman/control.py | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> >
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
> Does this preserve existing behaviour when -o is not given? I suppose

When -o is not given, the options.output_dir is the destination
directory and it's "../" by default.

But I suspect we should change the default output_dir to somewhere
else, in a separate patch, because arbitrarily put something in the
parent directory is not a good practice.

> it doesn't matter so long as buildman uses the right file?

Yes, it doesn't matter.

Regards,
Bin

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py
  2019-10-29  3:37   ` Simon Glass
@ 2019-10-29 13:56     ` Bin Meng
  2019-10-30  0:03       ` Simon Glass
  0 siblings, 1 reply; 18+ messages in thread
From: Bin Meng @ 2019-10-29 13:56 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On Tue, Oct 29, 2019 at 11:37 AM Simon Glass <sjg@chromium.org> wrote:
>
> Hi Bin,
>
> On Mon, 28 Oct 2019 at 08:25, Bin Meng <bmeng.cn@gmail.com> wrote:
> >
> > In the 'Make' function, the codes tries to create a directory
> > if current stage is 'build'. But the directory isn't used at
> > all anywhere.
> >
> > Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> >
> > ---
> >
> > Changes in v2:
> > - remove the unneeded debug codes
> >
> >  tools/buildman/test.py | 8 --------
> >  1 file changed, 8 deletions(-)
>
> Can you check this works OK when there is no output dir at all? E.g.
>
> -o /path/to/a/deep/non-existent/dir

If I understand the codes correctly the "O=<path>" in args[] does not
come from "-o /path/to/a/deep/non-existent/dir" but from the
builderthread with some hardcoded values. The removed codes here seem
to do something not very useful.

>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Regards,
Bin

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py
  2019-10-29 13:56     ` Bin Meng
@ 2019-10-30  0:03       ` Simon Glass
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2019-10-30  0:03 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On Tue, 29 Oct 2019 at 07:56, Bin Meng <bmeng.cn@gmail.com> wrote:
>
> Hi Simon,
>
> On Tue, Oct 29, 2019 at 11:37 AM Simon Glass <sjg@chromium.org> wrote:
> >
> > Hi Bin,
> >
> > On Mon, 28 Oct 2019 at 08:25, Bin Meng <bmeng.cn@gmail.com> wrote:
> > >
> > > In the 'Make' function, the codes tries to create a directory
> > > if current stage is 'build'. But the directory isn't used at
> > > all anywhere.
> > >
> > > Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> > >
> > > ---
> > >
> > > Changes in v2:
> > > - remove the unneeded debug codes
> > >
> > >  tools/buildman/test.py | 8 --------
> > >  1 file changed, 8 deletions(-)
> >
> > Can you check this works OK when there is no output dir at all? E.g.
> >
> > -o /path/to/a/deep/non-existent/dir
>
> If I understand the codes correctly the "O=<path>" in args[] does not
> come from "-o /path/to/a/deep/non-existent/dir" but from the
> builderthread with some hardcoded values. The removed codes here seem
> to do something not very useful.

That's fine, and TBH if we hit a problem later due to this we should
add a unit test to cover it.

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg
  2019-10-28 14:24 ` [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg Bin Meng
  2019-10-29  3:32   ` Simon Glass
@ 2019-10-30 17:03   ` Tom Rini
  1 sibling, 0 replies; 18+ messages in thread
From: Tom Rini @ 2019-10-30 17:03 UTC (permalink / raw)
  To: u-boot

On Mon, Oct 28, 2019 at 07:24:59AM -0700, Bin Meng wrote:
> buildman always generates boards.cfg in the U-Boot source tree.

> When '-o' is given, we should generate boards.cfg to the given
> output directory.
> 
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191030/72ee6f92/attachment.sig>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py Bin Meng
  2019-10-29  3:37   ` Simon Glass
@ 2019-10-30 17:03   ` Tom Rini
  1 sibling, 0 replies; 18+ messages in thread
From: Tom Rini @ 2019-10-30 17:03 UTC (permalink / raw)
  To: u-boot

On Mon, Oct 28, 2019 at 07:25:00AM -0700, Bin Meng wrote:

> In the 'Make' function, the codes tries to create a directory
> if current stage is 'build'. But the directory isn't used at
> all anywhere.
> 
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191030/49ec7f89/attachment.sig>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree Bin Meng
  2019-10-29  3:37   ` Simon Glass
@ 2019-10-30 17:03   ` Tom Rini
  1 sibling, 0 replies; 18+ messages in thread
From: Tom Rini @ 2019-10-30 17:03 UTC (permalink / raw)
  To: u-boot

On Mon, Oct 28, 2019 at 07:25:01AM -0700, Bin Meng wrote:

> At present some boards generate kwbimage.cfg in the source tree
> during the build. This breaks buildman testing on some systems
> where the source tree is read-only. Update makefile rules to
> generate it in the build tree instead.
> 
> Note some other boards have the kwbimage.cfg file written in
> advance, hence we need check if the file exists in the build
> tree first, otherwise we fall back to one in the source tree.
> 
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Chris Packham <judge.packham@gmail.com>
> Reviewed-by: Stefan Roese <sr@denx.de>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191030/bb719ffb/attachment.sig>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman Bin Meng
  2019-10-29  3:37   ` Simon Glass
@ 2019-10-30 17:03   ` Tom Rini
  1 sibling, 0 replies; 18+ messages in thread
From: Tom Rini @ 2019-10-30 17:03 UTC (permalink / raw)
  To: u-boot

On Mon, Oct 28, 2019 at 07:25:02AM -0700, Bin Meng wrote:

> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191030/f2f277ae/attachment.sig>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 5/5] Bring all testings in gitlab and travis CI to Azure Pipelines
  2019-10-28 14:25 ` [U-Boot] [PATCH v2 5/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
@ 2019-10-30 17:03   ` Tom Rini
  0 siblings, 0 replies; 18+ messages in thread
From: Tom Rini @ 2019-10-30 17:03 UTC (permalink / raw)
  To: u-boot

On Mon, Oct 28, 2019 at 07:25:03AM -0700, Bin Meng wrote:

> This expands current Azure Pipelines Windows host tools build
> testing to cover all the CI testing in gitlab and travis CI.
> 
> Note for some unknown reason, the 'container' cannot be used for
> any jobs that have buildman, for buildman does not exit properly
> and hangs the job forever. As a workaround, we manually call
> docker to run the image to perform the CI tasks.
> 
> A complete run on Azure Pipelines takes about 2 hours and 10
> minutes.
> 
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191030/4fd2f3a3/attachment.sig>

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2019-10-30 17:03 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-28 14:24 [U-Boot] [PATCH v2 0/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
2019-10-28 14:24 ` [U-Boot] [PATCH v2 1/5] tools: buildman: Honor output directory when generating boards.cfg Bin Meng
2019-10-29  3:32   ` Simon Glass
2019-10-29  7:11     ` Bin Meng
2019-10-30 17:03   ` Tom Rini
2019-10-28 14:25 ` [U-Boot] [PATCH v2 2/5] tools: buildman: Remove useless mkdir() in Make() in test.py Bin Meng
2019-10-29  3:37   ` Simon Glass
2019-10-29 13:56     ` Bin Meng
2019-10-30  0:03       ` Simon Glass
2019-10-30 17:03   ` Tom Rini
2019-10-28 14:25 ` [U-Boot] [PATCH v2 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree Bin Meng
2019-10-29  3:37   ` Simon Glass
2019-10-30 17:03   ` Tom Rini
2019-10-28 14:25 ` [U-Boot] [PATCH v2 4/5] .travis.yml: Remove the unneeded '&' for ls20xx buildman Bin Meng
2019-10-29  3:37   ` Simon Glass
2019-10-30 17:03   ` Tom Rini
2019-10-28 14:25 ` [U-Boot] [PATCH v2 5/5] Bring all testings in gitlab and travis CI to Azure Pipelines Bin Meng
2019-10-30 17:03   ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.