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=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).
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. What kind of tools can we offer to make that easy?
On 02/21/2012 09:08 AM, Alexander Sack wrote:
On Mon, Feb 20, 2012 at 5:11 PM, Paul Sokolovsky <paul.sokolovsky@linaro.org mailto:paul.sokolovsky@linaro.org> wrote:
Hello, As the result of implementation of https://blueprints.launchpad.net/linaro-android-infrastructure/+spec/build-config-in-git , android-build.linaro.org <http://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 <http://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=master <http://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;a=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/ <https://android-build.linaro.org/builds/%7Epfalcon/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. What kind of tools can we offer to make that easy?
Paul and I have been looking into a blueprint that has a similar goal:
https://blueprints.launchpad.net/linaro-android/+spec/linaro-android-create-build-script-from
I think we'll need to update the work we've done so far to accommodate this new method.
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.
On 20 February 2012 10:11, 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=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).
Thank you Paul. This is awesome. We'll switch the builds over after 12.02 comes out.
-- Best Regards, Paul
Linaro.org | Open source software for ARM SoCs Follow Linaro: http://www.facebook.com/pages/Linaro http://twitter.com/#%21/linaroorg - http://www.linaro.org/linaro-blog