summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* wipbaserock/pedroalvarez/gear-wipPedro Alvarez2016-04-021-1/+5
| | | | Change-Id: Ib154b10c19a8da85ead20c0c6fc80158b5c994b0
* Cancel now running jobsPedro Alvarez2016-03-302-3/+79
| | | | Change-Id: I28bdb73cb59196fe35b0e891490ffc95acfeb1b5
* wip cancelation, it works, but doesn't cancel running jobsPedro Alvarez2016-03-291-17/+63
| | | | Change-Id: I713471d96c070d9f9bba7cff6f6c2ef526c140d2
* WIP comunication to clientPedro Alvarez2016-03-292-4/+12
| | | | Change-Id: I64d639ba9e5935e0351d4363588e64edb6e94087
* Add initial fake client for one requestPedro Alvarez2016-03-281-0/+65
| | | | Change-Id: I51be9f05ed0ae05de32f74f41bd0a62c8dffe2f8
* Rename client.py to controller.pyPedro Alvarez2016-03-281-0/+0
| | | | Change-Id: Ife9fb074ff20cfdd940d93d305b6e4d2aaa1b56b
* Start creating RequestsManager to listen to requestsPedro Alvarez2016-03-281-10/+61
| | | | Change-Id: I5b660939333c57a6a47f384dc4f346a48334ffe9
* Worker, start handling errors, and ^C with threadsPedro Alvarez2016-03-281-63/+133
| | | | Change-Id: I77271a4a480d3b41ec5148c8f5256a93c5cda363
* change-cache-for-testingPedro Alvarez2016-03-271-1/+1
| | | | Change-Id: I323b34605857fe64c4143dd12231ac2be79837b9
* Check building components before cachePedro Alvarez2016-03-271-5/+23
| | | | Change-Id: I563eccf779708afdf597147f8e88ce0351a400dc
* Use wait() and notify(), with timeout to allow ^CPedro Alvarez2016-03-271-10/+9
| | | | Change-Id: Iacaf51caaad668710e3111054396d22480082774
* don't try to do anything with not started requestsPedro Alvarez2016-03-271-8/+13
| | | | Change-Id: I45f10538519582ea45a0161f14830de0207bddac
* Build control in RequestControllerPedro Alvarez2016-03-271-93/+73
| | | | Change-Id: I52e887401919b4924d3524319eb5be6243d424a2
* I'll strat moving the artifact states to RequestsControllerPedro Alvarez2016-03-271-0/+2
| | | | Change-Id: I48738dfa22bfbfb452c8567baf5f171c7aae0bc4
* wip multiple buildsPedro Alvarez2016-03-271-17/+52
| | | | Change-Id: If43345ff48c8b590ca70305e01b3c32be285885b
* debug messages fixPedro Alvarez2016-03-271-3/+3
| | | | Change-Id: Id3cf0c6f5ebd251d3c7f4947ba30ed30be2ce04b
* Encapsulate builds in RequestsControllerPedro Alvarez2016-03-271-17/+33
| | | | Change-Id: Ied3330a1012b5b204f36b13053c2f68127b0559d
* fix code for testsPedro Alvarez2016-03-272-20/+27
| | | | Change-Id: I5106328eab0c7b472f6e5058787623bd049d1b8c
* Clean up some debug messages, and allow buildingPedro Alvarez2016-03-272-9/+2
| | | | Change-Id: I6f132165690c2665bafa8fd48e01cdff218d9856
* WIP support cache request to clientPedro Alvarez2016-03-272-7/+54
| | | | Change-Id: I0e4100d948674759b088d72fef1eeb1524f59a9e
* WIP: start playing with cachePedro Alvarez2016-03-271-2/+21
| | | | Change-Id: I77b90a9ac40fdc961f0d10285b6f67554a20d490
* Add notesPedro Alvarez2016-03-271-0/+5
| | | | Change-Id: Ic14a6c7ad7233bb908d2f68c6673f09ad3c3cc60
* Atomic upload artifactsPedro Alvarez2016-03-271-2/+3
| | | | Change-Id: Ic48575151209d313367153d4fbee1b6679c17248
* Add note and remove noise from build-graphPedro Alvarez2016-03-271-3/+1
| | | | Change-Id: Ie516298418d71eedfa386cebecab06b58757e4a7
* Fix bug when extracting suffixesPedro Alvarez2016-03-271-1/+1
| | | | Change-Id: Icf43c00eacf35d55412433067fca2193e46b72eb
* Send live stdout of builds to clientPedro Alvarez2016-03-272-6/+8
| | | | Change-Id: I4fe8da68c224ee7f7c5be644c0c8b5192a944a1a
* finish PoC of uploading artifacts with paramikoPedro Alvarez2016-03-271-34/+28
| | | | Change-Id: Iddbc8cf3b7c4a1ee3e6a8ed7c7c88399639e7363
* first attempt paramikoPedro Alvarez2016-03-271-1/+53
| | | | Change-Id: Iea6523d7ee6fde41cffb2dc4b55aae7f59806c39
* Send build log and prepare artifact suffixesPedro Alvarez2016-03-272-0/+24
| | | | Change-Id: I8df5f2050d6d51002c31b4bb559f5bc5053b1ddc
* Request build-artifact jobPedro Alvarez2016-03-272-4/+9
| | | | Change-Id: I50e61bae89b313a1ad473c2c81e4a254da061601
* Handle decoding build_graph errorPedro Alvarez2016-03-271-4/+9
| | | | Change-Id: I84ce996fba0c06770baf1656bd4326ac3a97e5ef
* Add debug code for build-graph failuresPedro Alvarez2016-03-272-3/+11
| | | | Change-Id: I72977b36a03b11120a2230a48e86fce356f7e3b2
* Build logic donePedro Alvarez2016-03-272-31/+66
| | | | Change-Id: I0524be09b808b8b2282aaa1e61993d80d169e64a
* Start trying to buildPedro Alvarez2016-03-271-1/+49
| | | | Change-Id: I7889cc73339038859a646e76b037bbd1a866d954
* Find unbuilt artifactsPedro Alvarez2016-03-271-8/+31
| | | | Change-Id: If6116eee783ad2d5018395cbcea9361bd8924164
* Create controller class, and use itPedro Alvarez2016-03-272-34/+47
| | | | Change-Id: I29ff2f937a20f385a07de956045f4b92c4caf7c2
* Store artifacts and mark them as unbuiltPedro Alvarez2016-03-271-3/+47
| | | | Change-Id: Id3cbbbadb0d78e8c12a9ba7b16c7bd517a0a3fc1
* tidy up debug messagesPedro Alvarez2016-03-271-8/+7
| | | | Change-Id: I56b8f86965d820ea509c7efd4921b4860e2ca025
* mocking thingsPedro Alvarez2016-03-272-0/+94
| | | | Change-Id: I8c8a82947acbdccde3d8ee3ac6c78301d4521630
* Add support for definitions version 8baserock/pedroalvarez/defv8-submodules-squashedPedro Alvarez2016-03-2617-104/+302
| | | | | | | | | This code is a rework from changes done by: - Tiago Gomes <tiago.gomes@codethink.co.uk> https://storyboard.baserock.org/#!/story/86 Change-Id: I3475c2bcb648a272fee33bc878a521f79d4e6581
* Remove support for definitions version 6Tiago Gomes2016-03-2510-354/+18
| | | | Change-Id: I603b5172902b5249874ea3bb90de59db5a908185
* Adapt integration test to definitions version 7Tiago Gomes2016-03-253-1683/+303
| | | | | | | | With version 7, less dependencies are shown as the DEFAULTS file used for testing has a reduced set of artifact splitting rules, compared with the built-in split rules. Change-Id: I1e9d5390126bad007d39729faabf83cfb60a5092
* morphloader: simplify APITiago Gomes2016-03-253-41/+31
| | | | | | | Use an optional parameter to control whether the defaults should be set instead of a separate function. Change-Id: Idbbd5a08e8b16d8e01bb9539274092978b64f6f0
* Unify local and remote repo cache modulesSam Thursfield2016-03-1623-957/+976
| | | | | | | | | | | | | | | | | | | | | There's not really any reason you'd want to use the RemoteRepoCache class except as a workaround for the slow speed of some LocalRepoCache operations, so I can't see this ruining anyone's day. The main reason for doing this is so we can simply the sourceresolver code. One reason that the sourceresolver class is so hopelessly complicated is that it right now has to use two incompatible interfaces for Git repo caches. I've taken the opportunity to detangle the RepoCache class from the App class. Now all of the configuration for the RepoCache class is passed into the constructor explicitly. This makes the class usable from outside Morph: resolver = morphlib.repoaliasresolver.RepoAliasResolver(aliases=[]) repo_cache = morphlib.repocache.RepoCache('/src/cache/gits', resolver) Change-Id: I596c81d7645b67504c88e555172a8c238f4f8a66
* Get rid of the CachedRepo class (almost)Sam Thursfield2016-03-0316-586/+154
| | | | | | | | | | | | | | | | | | For a long time the CachedRepo class has basically been a wrapper around the GitDir class, but with a few extra methods that don't really even belong there. It is now a tiny class in the localrepocache module which just keeps track of a few extra attributes. All other functionality is provided by the gitdir module. This commit also removes the `git clone` approach for copying repos out of the cache. The alternative approach implemented by git.copy_repository() was slightly faster when I tested, so for now we should use that everywhere. Longer term we should find out why this is quicker than `git clone`, and fix Git itself to be fast. Change-Id: I1686ab43253d44c3903d9a0bad8bb75528e9cf75
* Hide get_repo() and cache_repo() functions, always use get_updated_repo()Sam Thursfield2016-03-038-73/+33
| | | | | | | | | | This allows us to simplify a couple of places. I cannot think of a single situation where'd you want to get the cached copy of a repo, but not update it. Think about it -- the repo might be *years* behind the upstream remote. Change-Id: I60340c7fb33e7bfe871ad30c0a9322a7202548e2
* Fix some test failuresSam Thursfield2016-03-032-6/+9
| | | | | | These seem to have been introduced by commit fb6dd955cbc7081f47dc4391. Change-Id: I2fb0be5f8829722264f3509f4db9473d19ea2939
* Fix copyright year of morphlib/morphloader.pybaserock/pedroalvarez/wip-gearPedro Alvarez2016-02-271-1/+1
| | | | | | File was modified in 472dbbbbfa07e67c02a98e9f4ee50fc86ad32b7e Change-Id: If0ffa0aae76ff9f0093e5eb7ff7d74d66c26119d
* Error when different names in system/strataPedro Alvarez2016-02-251-6/+25
| | | | | | | | | | | | | | Now is an error when the name of a stratum in a system is different from the name of the stratum in the stratum file. Example of the error message: ERROR: Name 'build-essential-foo' doesn't match 'build-essential' in morphology: strata/build-essential.morph We are forcing the error here instead of a warning because this problem makes Morph create broken systems. https://storyboard.baserock.org/#!/story/15 Change-Id: Ifbe8d98e64a768e4e238d2213ffaf575789dd9e2
* Warning when different names in strata/chunksPedro Alvarez2016-02-252-1/+5
| | | | | | | | | Now is an warning when the name of a chunk in a stratum is different from the name of the chunk in the chunk file. Example of the warning message: WARNING: Name 'binutils' doesn't match 'binutils-foo' in morphology: strata/build-essential/binutils.morph Change-Id: I38f0ccff57fc25db12c572fdc8a01dbd6434f01c