On 21 May 2013 07:51, Jonathan Aquilina <eagles051...@gmail.com> wrote:
> Not trying to hijack the thread here but something like tinderboxes would be
> rather handy in terms of ensuring builds dont break
> http://en.wikipedia.org/wiki/Tinderbox_%28software%29
>
> libreoffice uses them that way if something does break an email is sent out
> to the person who submitting the patch that is causing the breakage.

We already use Jenkins and it can do the same.

> On Mon, May 20, 2013 at 9:22 PM, Christopher Covington <c...@codeaurora.org>
> wrote:
>>
>> Hi Nicolas,
>>
>> On 05/17/2013 09:20 AM, Nicolas Dechesne wrote:
>> >
>> > On Wed, Apr 3, 2013 at 2:24 PM, Christopher Covington
>> > <c...@codeaurora.org
>> > <mailto:c...@codeaurora.org>> wrote:
>> >
>> >     >> I notice you've created a number of shell scripts to manage
>> > checking out
>> >     >> multiple git repositories, specific revisions of git repositories
>> > for a
>> >     >> release, etc. Repo [1] does this stuff pretty well that you might
>> > want to
>> >     >> consider as an eventual alternative.
>> >     >
>> >     > I was considering repo few times but jenkins-setup scripts are
>> > used not
>> >     > only to fetch/update/freeze git repositories but mostly to handle
>> > build
>> >     > jobs (at CI or any other machine).
>> >
>> >     I'm glad to hear that you've looked into it. There's certainly a lot
>> > more to
>> >     automation than revision control, although Repo does seem to play
>> > well with
>> >     others in my experience. Anyhow, I just figured if there was an
>> > unexplored
>> >     possibility to make things easier for developers and users, I'd try
>> > to
>> >     mention it.
>> >
>> >
>> > hi.
>> >
>> > even before that discussion started i was using 'repo' to manage my own
>> > (currently private) OE based distro, and I thought I would share my own
>> > conclusions too.. so i am currently using repo with a OE 'manifest' that
>> > describe the set of all 'layers' (trees) which i need to build my
>> > distro. I am
>> > not using gerrit at all, I am just using repo as a tool to manager
>> > multiple
>> > 'git trees' in a somehow synchronous manner.
>> >
>> > and as surprised as i was... i have to say that I like this setup very
>> > much.
>> > The main advantages i can see are:
>> >  - ability to checkout the entire 'distro' at once, as well as update
>> > all tree
>> > at once: repo sync
>> >  - ability to easily track and switch 1 or more stable versions, as well
>> > as
>> > master: repo init -b dylan && repo sync
>> >  - we could potentially use the 'smartsync' feature of repo to provide
>> > an
>> > 'always' working environment for our downstream users
>> >  - ability to create 'static' manifest with the commit of each sub
>> > project to
>> > easily regenerate 'releases' (repo manifest -r)
>> >
>> > and the *most* interesting feature by far to me, is 'repo grep' that is
>> > equivalent to 'git grep' but in all *projects*. For OE work 'git grep'
>> > is a
>> > very useful command, so ability to grep in all layers at once is a
>> > killer feature.
>> >
>> > since a picture is worth a thousand words... and since I cannot show my
>> > current distro trees for, i have made a sample manifest for review.
>> >
>> > https://git.linaro.org/gitweb?p=people/ndec/oemanifest.git
>> > <https://git.linaro.org/gitweb?p=people/ndec/oemanifest.git;a=summary>
>> >
>> > This is a simple manifest that pulls oe-core, meta-oe, bitbake,
>> > meta-linaro
>> > and meta-beagleboard, see:
>> >
>> >
>> > https://git.linaro.org/gitweb?p=people/ndec/oemanifest.git;a=blob;f=default.xml;h=8ff267206ad36b5ded032aa15d313fa19af6e0a5;hb=refs/heads/master
>> >
>> > the workflow is the following:
>> > - for someone who needs to setup the build env:
>> > repo init -u   git://git.linaro.org/people/ndec/oemanifest.git
>> > <http://git.linaro.org/people/ndec/oemanifest.git>
>> > repo sync
>> >
>> > - to switch from master to dylan:
>> > repo init -b dylan && repo sync
>> >
>> > - to grep the entire set of layers:
>> > repo grep SRC_URI
>> >
>> > - and 'release manifests' can be checked out in the tree as well, see:
>> >
>> > https://git.linaro.org/gitweb?p=people/ndec/oemanifest.git;a=shortlog;h=refs/heads/release
>>
>> I like this use of pinned revisions on a branch, and I wonder if it might
>> be
>> useful to do this for last-known-good revisions too. Assuming a project is
>> to
>> the point where LKGR info is worth the hassle of implementing something,
>> if
>> automation could just run `repo manifest -r` and commit and push the
>> output to
>> an "lkgr" branch of the manifest.git repository, that might make the
>> hassle a
>> bit less than setting up an XML-RPC manifest-server to do the same job.
>>
>> > Initially i was hoping to get a similar setup with git submodule instead
>> > of
>> > repo, but submodule won't let us track a 'branch' to 'updating' all
>> > trees
>> > isn't as simple, and also i had some troubles because 'bitbake' is in
>> > oe-core/.gitignore, and that would prevent me from adding the bitbake
>> > submodule... anyways, i think 'repo'
>> >
>> > feel free to respond if you have any feedback. but basically it looks
>> > like we
>> > might use a similar setup for one of our next projects here.
>>
>> It looks to me like a good setup. I hope to hear more about it in the
>> future.
>>
>> Regards,
>> Christopher
>>
>> --
>> Employee of Qualcomm Innovation Center, Inc.
>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>> hosted by the Linux Foundation.

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to