diff mbox

[3/4] .travis.yml: pre-seed sub-modules for speed

Message ID 1410799691-1226-4-git-send-email-alex.bennee@linaro.org
State New
Headers show

Commit Message

Alex Bennée Sept. 15, 2014, 4:48 p.m. UTC
A significant portion of the build time is spent initialising all the
sub-modules we use in the source tree. Often this is almost as long as
the build itself. By pre-seeding the .git/modules tree this will
hopefully improve things.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Comments

Alexander Graf Sept. 23, 2014, 10:37 a.m. UTC | #1
On 15.09.14 18:48, Alex Bennée wrote:
> A significant portion of the build time is spent initialising all the
> sub-modules we use in the source tree. Often this is almost as long as
> the build itself. By pre-seeding the .git/modules tree this will
> hopefully improve things.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> 
> diff --git a/.travis.yml b/.travis.yml
> index f113339..8df02a4 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -37,7 +37,12 @@ env:
>      - TARGETS=unicore32-softmmu,unicore32-linux-user
>      # Group remaining softmmu only targets into one build
>      - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
> +git:
> +  # we want to do this ourselves
> +  submodules: false
>  before_install:
> +  - wget http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz
> +  - tar -xvf qemu-submodule-git-seed.tar.xz

wget -O - | tar?

>    - git submodule update --init --recursive

Doesn't this overwrite the code you just downloaded?


Alex

>    - sudo apt-get update -qq
>    - sudo apt-get install -qq ${CORE_PKGS} ${NET_PKGS} ${GUI_PKGS} ${EXTRA_PKGS}
>
Alex Bennée Sept. 23, 2014, 2:50 p.m. UTC | #2
Alexander Graf writes:

> On 15.09.14 18:48, Alex Bennée wrote:
>> A significant portion of the build time is spent initialising all the
>> sub-modules we use in the source tree. Often this is almost as long as
>> the build itself. By pre-seeding the .git/modules tree this will
>> hopefully improve things.
>> 
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> 
>> diff --git a/.travis.yml b/.travis.yml
>> index f113339..8df02a4 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -37,7 +37,12 @@ env:
>>      - TARGETS=unicore32-softmmu,unicore32-linux-user
>>      # Group remaining softmmu only targets into one build
>>      - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
>> +git:
>> +  # we want to do this ourselves
>> +  submodules: false
>>  before_install:
>> +  - wget http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz
>> +  - tar -xvf qemu-submodule-git-seed.tar.xz
>
> wget -O - | tar?

Sure I can do this.

>>    - git submodule update --init --recursive
>
> Doesn't this overwrite the code you just downloaded?

It didn't in my testing. However I need to do the "--init" to ensure all
the modules are correctly checked out. When manually deleting one of the
packs in my testing git did the right thing and fetched the missing pack
data. Once the submodules move forward I'll double check the incremental
update works as well.

>
>
> Alex
>
>>    - sudo apt-get update -qq
>>    - sudo apt-get install -qq ${CORE_PKGS} ${NET_PKGS} ${GUI_PKGS} ${EXTRA_PKGS}
>>
Alexander Graf Sept. 23, 2014, 3:37 p.m. UTC | #3
On 23.09.14 16:50, Alex Bennée wrote:
> 
> Alexander Graf writes:
> 
>> On 15.09.14 18:48, Alex Bennée wrote:
>>> A significant portion of the build time is spent initialising all the
>>> sub-modules we use in the source tree. Often this is almost as long as
>>> the build itself. By pre-seeding the .git/modules tree this will
>>> hopefully improve things.
>>>
>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>>
>>> diff --git a/.travis.yml b/.travis.yml
>>> index f113339..8df02a4 100644
>>> --- a/.travis.yml
>>> +++ b/.travis.yml
>>> @@ -37,7 +37,12 @@ env:
>>>      - TARGETS=unicore32-softmmu,unicore32-linux-user
>>>      # Group remaining softmmu only targets into one build
>>>      - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
>>> +git:
>>> +  # we want to do this ourselves
>>> +  submodules: false
>>>  before_install:
>>> +  - wget http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz
>>> +  - tar -xvf qemu-submodule-git-seed.tar.xz
>>
>> wget -O - | tar?
> 
> Sure I can do this.
> 
>>>    - git submodule update --init --recursive
>>
>> Doesn't this overwrite the code you just downloaded?
> 
> It didn't in my testing. However I need to do the "--init" to ensure all
> the modules are correctly checked out. When manually deleting one of the
> packs in my testing git did the right thing and fetched the missing pack
> data. Once the submodules move forward I'll double check the incremental
> update works as well.

Cool, git is pretty smart then :). Nice.


Alex
diff mbox

Patch

diff --git a/.travis.yml b/.travis.yml
index f113339..8df02a4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -37,7 +37,12 @@  env:
     - TARGETS=unicore32-softmmu,unicore32-linux-user
     # Group remaining softmmu only targets into one build
     - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
+git:
+  # we want to do this ourselves
+  submodules: false
 before_install:
+  - wget http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz
+  - tar -xvf qemu-submodule-git-seed.tar.xz
   - git submodule update --init --recursive
   - sudo apt-get update -qq
   - sudo apt-get install -qq ${CORE_PKGS} ${NET_PKGS} ${GUI_PKGS} ${EXTRA_PKGS}