Ralph Bean
da0d5f5c09
Merge #362 [Waits on PR#365] Have new tags inherit from 'module-package-list' and remove the 'force' parameter when tagging a build
2017-03-01 00:49:02 +00:00
Ralph Bean
ca61d6bb29
Allow passing in multiple tag names to the validation decorator.
...
We have problems when we try to wrap one decorator around another.
There are ways to do that with the
[decorator](https://pypi.python.org/pypi/decorator ) module nicely,
however.. they are ugly.
Take a look at this:
https://github.com/micheles/decorator/blob/master/src/decorator.py#L217-L218
And this:
https://github.com/micheles/decorator/blob/master/src/decorator.py#L185-L188
The approach in this PR is.. simpler.
2017-02-28 17:15:55 -05:00
Matt Prahl
6ff2c19b60
Have new tags inherit from 'module-package-list' and remove the 'force' parameter when tagging a build
2017-02-28 15:00:44 -05:00
Filip Valder
6b343896dd
s/rida/mbs/
2017-02-28 17:59:02 +01:00
Matt Prahl
7dfb647e08
Merge #347 Possibility to specify optional parameters when submitting build
2017-02-28 14:26:20 +00:00
Filip Valder
a4366d9be7
Koji tag validation
...
- Decorator supporting str/list args
- ProgrammingError exception which may uncover typos in the names of args to validate
- Configurable whitelist of koji tag prefixes
- Add basic validation to test_build.TestModuleBuilder
2017-02-28 09:08:32 +01:00
Jakub Kadlčík
48f27cd7ea
Get one() result instead of first()
2017-02-26 22:19:31 +01:00
Jakub Kadlčík
6bd9e7026f
Use optional module build params in CoprModuleBuilder
2017-02-23 20:51:31 +01:00
Jan Kaluza
64d96966e2
Use Queue based ThreadPool instead of the default Python's one. Improve locking and debugging in the Mock backend.
2017-02-21 08:02:50 +01:00
Jan Kaluza
6a0e8d0b2e
Do not start new batch when component is built when there is already some in progress.
2017-02-20 13:51:10 +01:00
Jakub Kadlčík
fdca6fa6e8
Implement list_task_for_components method for CoprModuleBuilder
2017-02-17 00:52:45 +01:00
Ralph Bean
6bd6aaaf12
Merge #311 Do things in copr as the correct user
2017-02-14 17:25:57 +00:00
Filip Valder
818a3feb6f
check Koji active tasks for component relicts (same NVR) from previous (terminated) builds
2017-02-08 15:56:41 +01:00
Jakub Kadlčík
c1fe65c16a
Do things in copr as the correct user
2017-02-07 00:40:36 +01:00
Jan Kaluza
0b307550c4
Mock: WIP threading support
2017-02-01 13:20:17 +01:00
Jan Kaluža
c769d481ca
Merge #293 Mock: Load the mock.cfg before writing to it to not overwrite it and be able to update it in the middle of build.
2017-02-01 08:29:03 +00:00
Jan Kaluza
f7e5dd1f49
Log error message when SRPM cannot be created from SCM
2017-01-28 16:08:30 +01:00
Jan Kaluza
b76d1c9531
Mock: Load the mock.cfg before writing to it to not overwrite it and be able to update it in the middle of build.
2017-01-28 15:46:17 +01:00
Jan Kaluza
dda47acab7
Fix #276 - Use PDC to resolve buildroot components instead of MBS database
2017-01-10 14:29:54 +01:00
Jan Kaluza
c6d8198ac8
Mock: Use metadata_expire=1 for localrepo to trigger metadata expire during batches, fix removal of repodata/repomd.xml during the Mock builder init, call create-repo before installing module-build-macros
2017-01-09 17:18:54 +01:00
Jan Kaluza
23802418af
Fix tag_artifacts with concurrent build threshold, do not send repo-done in Mock backend after each build, but just after the tag_artifacts call.
2017-01-06 11:04:54 +01:00
Jan Kaluza
ab567803e8
Fix #41 - Tag builds only in the end of the badge to not regen repository all the time.
2017-01-05 15:24:46 +01:00
Ralph Bean
5fe359a429
Comments, updated to reflect new reality.
2016-12-15 16:27:15 -05:00
Ralph Bean
f11caf32e5
Get the basic framework for local module builds working again with hub/consumer.
2016-12-15 16:27:15 -05:00
Matt Prahl
261549c8c2
Migrate scheduler to be run by fedmsg-hub
2016-12-15 16:27:15 -05:00
Jan Kaluza
fe37b6c11e
Prefix tag in buildroot_add_repos with 'module-', because tags are prefixed like that in koji and PDC.
2016-12-07 11:18:05 +01:00
Jan Kaluza
b45905cbd0
Add 'in_memory' messaging backend and use it during build_module_locally to drop dependency on fedmsg-relay for local builds.
2016-12-06 10:21:42 +01:00
Jakub Kadlčík
bdec1bb85f
Dont create module if any build failed
2016-12-01 02:54:53 +01:00
Jakub Kadlčík
74ab8ab8cc
Refactor duplicit build_from_scm method
2016-12-01 02:19:06 +01:00
Jakub Kadlčík
c68a1908bd
Wait in loop until all builds are finished
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
fffefb5f48
Fallback to koji when module is not in copr
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
99d2dfbc87
There really should be 'failed'
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
84b7b08f25
Upgrade copr builder to support modulemd 1.0.2
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
94c1b80cb2
Workaround missing module_build_tag in copr
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
83a71e0443
Wait some time until builds are finished
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
0134f3a32d
Move module composing in copr to finalize method
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
7c8349e50c
Call finalize method on builder
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
f9220a4470
Pretend that build was successful so that rida submits next batch
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
0e3083fc4c
Copy build_srpm and build_from_scm from MockModuleBuilder
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
638a287a29
Add TODO that is much clearer than docstring
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
6702b9498f
Send module information in multiple fields
2016-12-01 02:16:56 +01:00
Jakub Kadlčík
e03272e966
Convert characters not supported in copr project names
2016-12-01 02:16:56 +01:00
Jan Kaluža
016c4f4c54
Merge #229 Mock backend: set the metadata_expire to 3600 seconds, install the module-build-macros package, fix the logs rename after build.
2016-11-30 16:12:15 +00:00
Jan Kaluza
6a0ad1074b
Mock backend: set the metadata_expire to 3600 seconds, install the module-build-macros package, fix the logs rename after build.
2016-11-30 16:54:39 +01:00
Jan Kaluza
1e4e1be91e
Fix #105 - Add new cancel API call which can be used to cancel the module build.
2016-11-30 12:20:50 +01:00
Ralph Bean
27484f2c32
Merge #225 Fix #223 , #224 - Use generated Mock config, define local RPM repository there and make it available in Mock chroot after batch is built.
2016-11-28 16:39:21 +00:00
Jan Kaluza
dd3eb61b53
Fix #223 , #224 - Use generated Mock config, define local RPM repository there and make it available in Mock chroot after batch is built.
2016-11-25 12:15:32 +01:00
Jan Kaluza
77366b94ce
Try to build testmodule.yaml as unit-test with fake builder backend.
2016-11-24 14:01:28 +01:00
Ralph Bean
439721da99
Gather build groups from module profiles.
...
Fixes #181 .
When initializing the buildroot for a module build, we used to set up
some build 'groups' for the tag: `build` and `srpm-build`. These are
the lists of RPMs that koji is supposed to install into the buildroot
before anything else is done. Crucial stuff goes here, like `git` in
the `srpm-build` group so that koji can clone the repo in the first
place.
We had those lists hardcoded before. This list changes that to use the
`buildroot` and `srpm-buildroot` profiles of the modules which are our
dependencies (recursively).
This will allow people like @psabata and the base-runtime to make
changes to the build groups for the generational core and work around
their own problems, instead of having to ask us to expand that list.
There were a couple ways to do this:
- I could've cloned the SCM repos for all dependencies and gotten their
profiles from the modulemd source there. This seemed flimsy because
we only want to depend on the profiles of modules that were *really*
built.
- We could modify PDC to stuff the modulemd contents in there. We
already get some dep and tag info from PDC. My thought here was that
it would be too heavyweight to store every copy of the modulemd file
in PDC for every build ever. We already have it in MBS.
- Lastly, and this is what I did here, I just referred to MBS' own
database to get the profiles. This seems to work just fine.
One side-effect is that we need the build profiles from the manually
bootstrapped modules that were put together by hand, and were never
built in the MBS. In order to work around that, I added an alembic
upgrade script which pre-populates the database with one fake
bootstrapped base-runtime module. We can expand on that in the future
if we need.
2016-11-21 13:25:52 -05:00
Filip Valder
99c3c1e717
catch on IOError and retry
2016-11-18 14:37:54 +01:00