Capomastro lacks the ability to build specific revisions

Bug #1386713 reported by John McAleely
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Capomastro
Fix Released
Medium
Caio Begotti

Bug Description

When building a dependency which originates from a gerrit or similar git-based source tree, it would be useful to be able to specify a specific revision to use as an input to the build.

So in the case of git/gerrit, a hash (preferrably in the short form reported with the --abbrev-commit option to git log) should be input in the web UI when requesting a manual build.

Revision history for this message
John McAleely (john.mcaleely) wrote :

While I think about it, being able to enter a tag or branch would probably also be useful. In other words to control the git checkout part of the build from the web UI.

Daniel Manrique (roadmr)
Changed in capomastro:
milestone: none → future
importance: Undecided → Medium
status: New → Triaged
tags: added: story
Revision history for this message
Daniel Manrique (roadmr) wrote :

This needs the obvious UI changes in capomastro so builds can be parametrized, but also changes to bygmester scripts which are the ones actually doing the build. I'll triage for capomastro now and try to add the bygmester task later.

Ara Pulido (ara)
tags: added: stakeholder
Daniel Manrique (roadmr)
Changed in capomastro:
milestone: future → 2015-07
Revision history for this message
Alex Tu (alextu) wrote :

Arale also need this feature.
Because Arale use repo as version control system, all modules be controlled by manifest [1]
Currently exits two branches in manifests [1]
m75_ubuntu-daily : dump versions from each module daily
m75_ubuntu : point to latest versions for each module

Arale need to have way to build the code base which based on m75_ubuntu-daily branch in manifest[1].
The build process will be:
$ repo init -u ssh://git.tangxi.canonical.com:29418/m75/platform/manifest -b m75_ubuntu-daily
$ repo sync

Then build images as before.

[1] ssh://git.tangxi.canonical.com:29418/m75/platform/manifest

Caio Begotti (caio1982)
Changed in capomastro:
assignee: nobody → Caio Begotti (caio1982)
Caio Begotti (caio1982)
Changed in capomastro:
status: Triaged → In Progress
Revision history for this message
Caio Begotti (caio1982) wrote :

John, I think we forgot to triage this bug once we added the CHECKOUT parameter for Barajas ages ago so I assume this is okay for you now. You can simply pass a tag value, a commit hash or whatever git checkout accepts to CHECKOUT and it should be fine.

Alex, given Tangxi uses Android's repo to manage all the git trees you'll unfortunately be stuck to what it supports, i.e. direct branches and maybe tags refs. I believe there's no way for you to directly checkout the whole project to the point of a commit because repo doesn't work with single repositories. You can pass CHECKOUT=m75_ubuntu-daily to the Tangxi builds and it will work as you wanted though.

I've linked both branches here and set them up on https://capomastro.staging.canonical.com/projects/1/ for you guys to try it before merging and releasing the changes.

Revision history for this message
Alex Tu (alextu) wrote :

@ Caio
I just modified the dependency "Android Tangxi - m75_ubuntu-daily" to have parameter "CHECKOUT=m75_ubuntu-daily".

And also tried build device tarball, the built out tarball works well after flashing to Arale and the version in device-build mach the latest hash of manifest module.
Cool!

Caio Begotti (caio1982)
Changed in capomastro:
status: In Progress → Fix Committed
Caio Begotti (caio1982)
Changed in capomastro:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.