Skip to contentSkip to conversation

autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

PATCH New Vlad Zakharov 4 participants 9 messages Oct 21, 2016 – Feb 6, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

This commit introduces "--tc-cfg-uri" option (short "-t"). Described option is used to pass URI of file that contain toolchains configurations to be used in autobuilds.

Default value refers to standard buildroot autobuild toolchain configuration file:
http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv

Such update allows users to add their own toolchain configurations to use in buildroot autobuilds.

---
 scripts/autobuild-run | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
scripts/autobuild-run +6 -3
index 33a0481..4b0d7c2 100755
@@ -66,6 +66,7 @@ defaults = {
     '--make-opts': '',
     '--nice': 0,
     '--pid-file': '/tmp/buildroot-autobuild.pid',
+    '--tc-cfg-uri': 'http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv',
 }
 
 doc = """autobuild-run - run Buildroot autobuilder
@@ -97,6 +98,7 @@ Options:
                                  Defaults to %(--pid-file)s.
   -c, --config CONFIG            path to configuration file
                                  Not set by default.
+  -t, --tc-cfg-uri URI           URI of toolchain configuration file
 
 Format of the configuration file:
 
@@ -243,7 +245,7 @@ class SystemInfo:
 
         return not missing_requirements
 
-def get_toolchain_configs():
+def get_toolchain_configs(**kwargs):
     """Fetch and return the possible toolchain configurations
 
     This function returns an array of dictionaries, with for each toolchain:
@@ -252,7 +254,7 @@ def get_toolchain_configs():
         - hostarch: the host architecture for which the toolchain is built
         - contents: an array of lines of the defconfig
     """
-    tc_cfg_uri = 'http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv'
+    tc_cfg_uri = kwargs['tc_cfg_uri']
 
     with urlopen_closing(tc_cfg_uri) as r:
         l = decode_byte_list(r.readlines())
@@ -514,7 +516,7 @@ def gen_config(**kwargs):
     log_write(log, "INFO: generate the configuration")
 
     # Select a random toolchain configuration
-    configs = get_toolchain_configs()
+    configs = get_toolchain_configs(**kwargs)
     i = randint(0, len(configs) - 1)
     config = configs[i]
 
@@ -905,6 +907,7 @@ def main():
                 submitter = args['--submitter'],
                 make_opts = (args['--make-opts'] or ''),
                 nice = (args['--nice'] or 0),
+                tc_cfg_uri = args['--tc-cfg-uri'],
                 upload = upload,
                 buildpid = buildpid
             ))
Signature · 1 line
2.5.5
#1 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

Hello,

Quoted 4 lines · Vlad Zakharov

This commit introduces "--tc-cfg-uri" option (short "-t"). Described option is used to pass URI of file that contain toolchains configurations to be used in autobuilds.

Quoted 8 lines

Default value refers to standard buildroot autobuild toolchain configuration file:
http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv

Such update allows users to add their own toolchain configurations to use in buildroot autobuilds.

I am not sure I like this approach very much. It means people can start using a non-default set of toolchains, and then submit results to autobuild.buildroot.org. Such results would possibly not be reproducible by others because we may not have access to those toolchains.

Is this intended to run tests only the ARC architecture builds on your autobuilder?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

Hi Thomas,

Yes, we wan't to use?

Quoted 15 lines · Thomas Petazzoni

Hello,

Quoted 12 lines · Vlad Zakharov

This commit introduces "--tc-cfg-uri" option (short "-t"). Described option is used to pass URI of file that contain toolchains configurations to be used in autobuilds.

Default value refers to standard buildroot autobuild toolchain configuration file:
http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv

Such update allows users to add their own toolchain configurations to use in buildroot autobuilds.

Quoted 8 lines
Quoted 1 line

I am not sure I like this approach very much. It means people can start using a non-default set of toolchains, and then submit results to autobuild.buildroot.org. Such results would possibly not be reproducible by others because we may not have access to those toolchains.

Of course people can misuse the script and run autobuilds with mysterious external toolchain and nobody except themselves will be able to reproduce such builds. However if people use internal buildroot toolchain information of how toolchain has been configured is always accessible in ".config" file that is provided with other build results.?

Quoted 3 lines

Is this intended to run tests only the ARC architecture builds on your autobuilder?

In our case we want at least to run more autobuilds with internal up-to-date toolchain to get relevant visibility of what is happening with ARC latest tools. Suggested approach will give us flexible way to set up such configurations.? In default configs there is only one configuration for arc that uses internal tools.?
?

Quoted 1 line

Thomas

Signature · 2 lines
Best regards,
Vlad Zakharov <[email protected]>
#3 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

Hi Thomas,

Quoted 29 lines · Vlad Zakharov

Hi Thomas,

Yes, we wan't to use?

Quoted 24 lines · Thomas Petazzoni

Hello,

Quoted 6 lines · Vlad Zakharov

This commit introduces "--tc-cfg-uri" option (short "-t"). Described option is used to pass URI of file that contain toolchains configurations to be used in autobuilds.

Quoted 8 lines

Default value refers to standard buildroot autobuild toolchain configuration file:
http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv

Such update allows users to add their own toolchain configurations to use in buildroot autobuilds.

I am not sure I like this approach very much. It means people can start using a non-default set of toolchains, and then submit results to autobuild.buildroot.org. Such results would possibly not be reproducible by others because we may not have access to those toolchains.

Well as long as you have control over stuff that gets added in your autobuilder web-server through distribution of credentials IMHO there should be no problems. In worst case one day somebody will catch unexpected path to external toolchain in .config from one report and that will be a reason to ask owner of corresponding build server to not play that games.

Still I might be missing something.

-Alexey

#4 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

In reply to Thomas Petazzoni
Quoted 14 lines · Thomas Petazzoni

Hello,

Quoted 11 lines · Vlad Zakharov

This commit introduces "--tc-cfg-uri" option (short "-t"). Described option is used to pass URI of file that contain toolchains configurations to be used in autobuilds.

Default value refers to standard buildroot autobuild toolchain configuration file:
http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv

Such update allows users to add their own toolchain configurations to use in buildroot autobuilds.

Quoted 7 lines
Quoted 1 line

I am not sure I like this approach very much. It means people can start using a non-default set of toolchains, and then submit results to autobuild.buildroot.org. Such results would possibly not be reproducible by others because we may not have access to those toolchains.

Maybe just make this option mutually exclusive --upload? I.e., automatically
disable upload if this option is set. I guess that's OK for the ARC use case?

Regards,
Arnout

Quoted 6 lines

Is this intended to run tests only the ARC architecture builds on your autobuilder?

Thomas

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#5 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

Hi Arnout,

Quoted 6 lines

-----Original Message-----
From: Arnout Vandecappelle [mailto:arnout at mind.be]
Sent: 21 ??????? 2016 ?. 21:14
To: Thomas Petazzoni <[email protected]>; Vlad Zakharov <[email protected]>
Cc: buildroot at busybox.net; Alexey Brodkin <[email protected]>; Eugeniy Paltsev <[email protected]>
Subject: Re: [Buildroot] [PATCH][autobuild] autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

[snip]

Quoted 9 lines
Quoted 6 lines

I am not sure I like this approach very much. It means people can start using a non-default set of toolchains, and then submit results to autobuild.buildroot.org. Such results would possibly not be reproducible by others because we may not have access to those toolchains.

Maybe just make this option mutually exclusive --upload? I.e., automatically
disable upload if this option is set. I guess that's OK for the ARC use case?

Well we may indeed implement something like this.

But frankly the idea was to give more testing to "non-standard" configurations especially with Buildroot-built toolchain (on every build so no prebuilt tools at all). I.e. to get better coverage when BR's toolchain is configured with different set of features.

-Alexey

#6 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

Quoted 18 lines · Alexey Brodkin

Hi Arnout,

Quoted 6 lines

-----Original Message-----
From: Arnout Vandecappelle [mailto:arnout at mind.be]
Sent: 21 ??????? 2016 ?. 21:14
To: Thomas Petazzoni <[email protected]>; Vlad Zakharov <[email protected]>
Cc: buildroot at busybox.net; Alexey Brodkin <[email protected]>; Eugeniy Paltsev <[email protected]>
Subject: Re: [Buildroot] [PATCH][autobuild] autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

[snip]

Quoted 7 lines
Quoted 6 lines

I am not sure I like this approach very much. It means people can start using a non-default set of toolchains, and then submit results to autobuild.buildroot.org. Such results would possibly not be reproducible by others because we may not have access to those toolchains.

Quoted 8 lines
Quoted 2 lines

Maybe just make this option mutually exclusive --upload? I.e., automatically
disable upload if this option is set. I guess that's OK for the ARC use case?

Well we may indeed implement something like this.

But frankly the idea was to give more testing to "non-standard" configurations especially with Buildroot-built toolchain (on every build so no prebuilt tools at all). I.e. to get better coverage when BR's toolchain is configured with different set of features.

If the intention is that they are registered in a.b.o, why not just add the
configurations to the official list?

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#7 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

Hi Arnout,

Quoted 6 lines

-----Original Message-----
From: Arnout Vandecappelle [mailto:arnout at mind.be]
Sent: 21 ??????? 2016 ?. 22:29
To: Alexey Brodkin <[email protected]>; Vlad Zakharov <[email protected]>
Cc: buildroot at busybox.net; Thomas Petazzoni <[email protected]>
Subject: Re: [Buildroot] [PATCH][autobuild] autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

[snip]

Quoted 4 lines
Quoted 4 lines
Quoted 3 lines

Maybe just make this option mutually exclusive --upload? I.e., automatically
disable upload if this option is set. I guess that's OK for the ARC use case?

Quoted 8 lines
Quoted 5 lines

Well we may indeed implement something like this.

But frankly the idea was to give more testing to "non-standard" configurations especially with Buildroot-built toolchain (on every build so no prebuilt tools at all). I.e. to get better coverage when BR's toolchain is configured with different set of features.

If the intention is that they are registered in a.b.o, why not just add the
configurations to the official list?

Well we may do it.
But as I understood autobuilder script randomly selects config from this list
http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv

Which means if we add more entries for ARC we'll have ARC build happening more often But I'd like to keep balance as it is because obviously all targets should get equal testing.

-Alexey

#8 lore raw

PATCH 1/1 autobuild-run: introduce "--tc-cfg-uri" option for toolchain configs URI

In reply to Vlad Zakharov

Hello,

Quoted 8 lines · Vlad Zakharov

This commit introduces "--tc-cfg-uri" option (short "-t"). Described option is used to pass URI of file that contain toolchains configurations to be used in autobuilds.

Default value refers to standard buildroot autobuild toolchain configuration file:
http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv

Quoted 7 lines

Such update allows users to add their own toolchain configurations to use in buildroot autobuilds.

---
 scripts/autobuild-run | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

I've changed the option to --toolchains-url and applied. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com