Hello Alexander,
On Tue, 21 Feb 2012 16:08:22 +0100 Alexander Sack asac@linaro.org wrote:
On Mon, Feb 20, 2012 at 5:11 PM, Paul Sokolovsky <paul.sokolovsky@linaro.org
wrote:
Hello,
As the result of implementation of
https://blueprints.launchpad.net/linaro-android-infrastructure/+spec/build-c..., android-build.linaro.org now can indirectly fetch build config stored in a git repository. To achieve that, bootstrap config (as specified in android-build.linaro.org) should contain reference to config's repo/branch/file (configuration variables are modeled on the similar MANIFEST_* ones), e.g.:
BUILD_CONFIG_REPO=git:// git.linaro.org/people/pfalcon/android/linaro/build-configs.git BUILD_CONFIG_BRANCH=masterhttp://git.linaro.org/people/pfalcon/android/linaro/build-configs.git%0ABUILD_CONFIG_BRANCH=master BUILD_CONFIG_FILENAME=panda-ics-gcc46-tilt-tracking-blob.conf
http://android.git.linaro.org/gitweb?p=linaro/build-configs.git%3Ba=summary was created to store configs for the official builds in the Gerrit tree.
Sample job is available here: https://android-build.linaro.org/builds/~pfalcon/git-build-config/ (it uses personal repo as a test).
That's a great feature ...
I see a dev now could retrieve that config from git to then reproduce an exact build using the same configs and toolchain etc.
Nothing new here, any build's page already contained the exact build config used for that particular build. E.g.
https://android-build.linaro.org/builds/~linaro-android/imx6-ics-gcc47-frees...
shows the exact build config used that build, #5. If a job config was changed later and new builds fire with new config, that pages still retains original config used for build #5.
In that respect, storing build configs in git actually makes it all less visible. That's why I was a bit surprised to receive this request - I thought that the whole purpose of Android Build is to keep it visible, explicit, and interactive. Well, we know two major usecases for configs in git - better change control and mass-editing. But it would be little more complicated to figure out an answer to questions like "What kernel tree used in this build?", and to explain (to community members for example) how to find out answer to that question.
What kind of tools can we offer to make that easy?
So, that's orthogonal to this, and as Andy wrote, it's in works. And I'm glad that we agreed to abstract that into a script (vs to just textual instructions), because, again, having build configs in git just makes it a bit more complex and require more steps to accomplish.