[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-frameworks-devel
Subject:    Re: CI system maintainability
From:       Andrius_Štikonas <andrius () stikonas ! eu>
Date:       2019-03-29 11:42:49
Message-ID: FD34C4B7-241F-4563-83BF-20803476E8A9 () stikonas ! eu
[Download RAW message or body]

+1 for this. I think running tests before merging is more acceptable than having mandatory reviews.

On 29 March 2019 11:10:52 GMT+00:00, Ovidiu-Florin Bogdan <ovidiu.b13@gmail.com> wrote:
>Hello,
>
>A Merge Request in GitLab does not necessarily imply the need for a
>review by e person. It can just run a pipeline to validate that the
>code isn't broken. If the pipeline fails, the merge button is not
>available.
>
>We use GitLab at work and we have it set up like this:
>
>* Main branches (develop/master/release/etc) are proteted and cannot be
>directly commited/pushed to, and only updated through MR
>* Each project defines what it's build/validate pipeline is
>(Jenkinsfile in project repo)
>* The pipeline is executed uppon creating the MR
>* if the Pipeline passes, the MR can be merged to the mainline branch
>
>This way we ensure that no code gets in that fails the build or with
>tests failing.
>
>P.S. We also store the build artifacts in a binary repository from
>where other pipelines can fetch them to be used in compiling other
>projects.
>
>P.P.S. This is the "DevOps" process used in most companies. The tools
>might differ, but the process is the same. It's the same for most FOSS
>projects as well.
>
>Regards,
>Ovidiu
>
>În ziua de joi, 28 martie 2019, la 10:29:22 EET, Kevin Ottens a scris:
>> Hello,
>> 
>> On Thursday, 28 March 2019 09:16:11 CET Ben Cooksley wrote:
>> > Please note that the commits in this instance were pushed without
>> > review, so restrictions on merge requests wouldn't make a
>difference
>> > in this case unfortunately.
>> 
>> Maybe it's about time to make reviews mandatory... I know it's
>unpopular in 
>> KDE, and I advocated for "don't force a tool if you can get someone
>to look at 
>> your screen or pair with you" in the past. Clearly this compromise
>gets 
>> somewhat exploited and that's especially bad in the case of a fragile
>and 
>> central component like KDE PIM.
>> 
>> Regards.
>> 

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
[Attachment #3 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" \
content="1"><style type="text/css"> p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Monospace'; font-size:10pt; \
font-weight:400; font-style:normal;">+1 for this. I think running tests before \
merging is more acceptable than having mandatory reviews.<br><br><div \
class="gmail_quote">On 29 March 2019 11:10:52 GMT+00:00, Ovidiu-Florin Bogdan \
&lt;ovidiu.b13@gmail.com&gt; wrote:<blockquote class="gmail_quote" style="margin: 0pt \
0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px;">Hello,</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px;">A Merge Request in GitLab does not necessarily imply the need for a \
review by e person. It can just run a pipeline to validate that the code isn't \
broken. If the pipeline fails, the merge button is not available.</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px;">We use GitLab at work and we have it set up \
like this:</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px;">* Main branches (develop/master/release/etc) \
are proteted and cannot be directly commited/pushed to, and only updated through \
MR</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px;">* Each project defines what \
it's build/validate pipeline is (Jenkinsfile in project repo)</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px;">* The pipeline is executed uppon creating the \
MR</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px;">* if the Pipeline passes, the \
MR can be merged to the mainline branch</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px;">This way we ensure that no code gets in that fails the build or \
with tests failing.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">P.S. We also \
store the build artifacts in a binary repository from where other pipelines can fetch \
them to be used in compiling other projects.</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px;">P.P.S. This is the "DevOps" process used in most companies. The \
tools might differ, but the process is the same. It's the same for most FOSS projects \
as well.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px;">Regards,</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px;">Ovidiu</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">În ziua de \
joi, 28 martie 2019, la 10:29:22 EET, Kevin Ottens a scris:</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Hello,</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; On Thursday, 28 March \
2019 09:16:11 CET Ben Cooksley wrote:</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">&gt; &gt; Please note that the commits in this \
instance were pushed without</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; &gt; review, so restrictions on merge requests wouldn't make \
a difference</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; \
in this case unfortunately.</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; </p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; Maybe it's about time to make reviews mandatory... I know \
it's unpopular in </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; KDE, \
and I advocated for "don't force a tool if you can get someone to look at </p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; your screen or pair with \
you" in the past. Clearly this compromise gets </p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">&gt; somewhat exploited and that's especially bad \
in the case of a fragile and </p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; central component like KDE PIM.</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Regards.</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; \
">&nbsp;</p></blockquote></div><br>-- <br>Sent from my Android device with K-9 Mail. \
Please excuse my brevity.</body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic