
On Fri, Feb 10, 2017 at 10:42 AM, Martin Sivak <msivak@redhat.com> wrote:
I think you already can do that. When you want to build for a release you can create automation/mom.spec and change automaton/build-artifacts.sh
But that is not what I am after. I want to be able to say: Use this git hash from this repository for 4.1 and 4.0 for any upcoming release until I say otherwise (without having to use some special tag).
This is not about build procedure, but about release management. The build procedure can be then part of the automation as you say, but I won't be the one executing it, Jenkins will do that for me any time you decide to do a compose.
Not sure to follow. jenkins will execute the build right after you'll merge the change. after that, you can add the jenkins build to ovirt-<release>.conf and it will be published for that release. All following releases will keep that version until you add it to another ovirt-<new-release>.conf, since the files are incremental. The only time this may fail is between major releases like 4.0 -> 4.1 or 4.1 -> 4.2 when beta composes are done by taking latest snapshots in ovirt-<betarelease>.conf which I usually ask to review before merging like I did for 4.1: https://gerrit.ovirt.org/#/c/67645/ Maybe I'm not seeing something here.
Martin
On Fri, Feb 10, 2017 at 10:35 AM, Sandro Bonazzola <sbonazzo@redhat.com> wrote:
On Fri, Feb 10, 2017 at 10:07 AM, Martin Sivak <msivak@redhat.com>
I am using copr for building mom for a single reason. We have no distgit equivalent where I would be able to mark an arbitrary git hash as a release (using my tag and branch structure) and so copr gives me the package release experience I want. Otherwise Jenkins would be fine with me.
If we are getting closer to something like that then great and I will use it when it is ready.
I think you already can do that. When you want to build for a release you can create automation/mom.spec and change automaton/build-artifacts.sh to just: spectool -g automation/mom.spec rpmbuild \ -ba \ --define="_sourcedir ${PWD}" \ --define="_srcrpmdir ${PWD}" \ --define="_rpmdir ${PWD}" \ automation/mom.spec
instead of
./autogen.sh ./configure --prefix=/usr make dist rpmbuild -ta *.tar.gz
when jenkins will run it will build like in copr.
Martin
On Fri, Feb 10, 2017 at 9:57 AM, Sandro Bonazzola <sbonazzo@redhat.com> wrote:
On Sun, Feb 5, 2017 at 6:25 PM, Nir Soffer <nsoffer@redhat.com>
wrote:
On Sun, Feb 5, 2017 at 11:33 AM, Martin Sivak <msivak@redhat.com> wrote:
> A repo where I do not have commit rights means I can't take full > responsibility. > A repo that is not atomically synchronized with my sources means I > can't take full responsibility.
Having said that, I would be perfectly fine with a single
repository
that tracks the release configuration, but only if it also held the git repository link and hash/branch name that is supposed to be released. It would be in some way a "distgit repo". Something like Sandro has for builds.
[ovirt-4.0.x-ci] git://gerrit.ovirt.org/project.git#ovirt-4.0.x git://gerrit.ovirt.org/project2.git#v4.0.x git://github.com/Me/repo#master
[ovirt-4.0.6] git://gerrit.ovirt.org/project.git#ovirt-4.0.6 git://gerrit.ovirt.org/project2.git#v4.0.6 http://github.com/Me/repo/releases/x.y.z.zip
Any release would then be reviewed by the CI team and that would be fine for me. It would allow any branch name or versioning convention and would not pollute the sources. It would also be gerrit agnostic.
Well said!
May pain points with jenkins project:
- No documentation - The format is not stable, each time you edit the format is different - No way to test changes, only infra guys can test changes, sometimes even infra guys cannot test changes and they simply merge them for testing - The project format is full of duplication - No commit right, cannot be responsible for something I cannot change
Compare with travis:
- Everting defined in *my* project in .travis.yml - Configuration format is well documented https://docs.travis-ci.com/ - Configuration format is well designed, can do lot of work with very little configuration For example - this yaml define matrix of 3 builds: https://github.com/oVirt/vdsm/blob/master/.travis.yml - Easy to test changes before merging (push to your fork on github) - Very nice web ui, e.g. https://travis-ci.org/oVirt/vdsm/builds/198571421 https://travis-ci.org/oVirt/vdsm/jobs/198571422
I've no strong feelings on this subject. I personally don't know
wrote: travis
so I can't compare it to anything else. I'm a jenkins Standard-CI user and I tend to be happy with what we have. That said, despite I would prefer all ovirt projects to be aligned with the same workflow, I'm perfectly fine with whatever CI testing / building system is implemented or used for each project provided that: - it works - it produces rpms which can be added to ovirt-system-test for functional testing - it produces source archives which can be published on release - it produces rpms which can be installed on release for all supported platforms and arches. - it doesn't require creative ways to get artifacts to be released
Nir
Martin
On Sun, Feb 5, 2017 at 10:17 AM, Martin Sivak <msivak@redhat.com> wrote: > Hi, > >> The fact that this is specified in the 'jenkins' repo **does not >> place >> this outside the maintainers` responsibility**. > > A repo where I do not have commit rights means I can't take full > responsibility. > A repo that is not atomically synchronized with my sources means I > can't take full responsibility. > >> We actually have an initiative to move this information to the >> project >> repos. I've started with asking on devel list about how to
specify
>> this as part of Standard-CI [1]. But have received little topical >> response so far. >> [1]: >> http://lists.ovirt.org/pipermail/devel/2017-January/029161.html > > You've got enough responses already to propose a different schema > than > fixed branch names. Just give us a config file. Seriously, stop > reinventing the wheel and take a look at how others are doing it > (distgit, travis, tito, ...). > > Martin > >> >> -- >> Barak Korren >> bkorren@redhat.com >> RHCE, RHCi, RHV-DevOps Team >> https://ifireball.wordpress.com/ >> _______________________________________________ >> Devel mailing list >> Devel@ovirt.org >> http://lists.ovirt.org/mailman/listinfo/devel _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Sandro Bonazzola Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com
-- Sandro Bonazzola Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com
-- Sandro Bonazzola Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com