diff mbox series

automation: avoid duplicated builds of staging branch

Message ID 20230717130925.28183-1-marmarek@invisiblethingslab.com (mailing list archive)
State New, archived
Headers show
Series automation: avoid duplicated builds of staging branch | expand

Commit Message

Marek Marczykowski-Górecki July 17, 2023, 1:09 p.m. UTC
"staging" branch is mirrored (automatically or manually) to several
repositories. Avoid building it several times to not waste runner
resources.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 .gitlab-ci.yml | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Andrew Cooper July 17, 2023, 1:14 p.m. UTC | #1
On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> "staging" branch is mirrored (automatically or manually) to several
> repositories. Avoid building it several times to not waste runner
> resources.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
>  .gitlab-ci.yml | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index c8bd7519d5fb..c3b05e32636b 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -2,6 +2,12 @@ stages:
>    - build
>    - test
>  
> +workflow:
> +  rules:
> +    - if: '$CI_COMMIT_REF_NAME == "staging" && $CI_PROJECT_NAMESPACE != "xen-project"'
> +      when: never
> +    - when: always

If we're doing this for staging, we should include staging-* and
stable-*.  They're all the same from this point of view.

However, this does need double checking with the committers who use
gitlab regularly (CC'd).  This doesn't happen to interfere with my
commit workflow (I use a separate branch called for-staging), but I
can't talk for others.

~Andrew
Marek Marczykowski-Górecki July 17, 2023, 2:08 p.m. UTC | #2
On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > "staging" branch is mirrored (automatically or manually) to several
> > repositories. Avoid building it several times to not waste runner
> > resources.
> >
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > ---
> >  .gitlab-ci.yml | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index c8bd7519d5fb..c3b05e32636b 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -2,6 +2,12 @@ stages:
> >    - build
> >    - test
> >  
> > +workflow:
> > +  rules:
> > +    - if: '$CI_COMMIT_REF_NAME == "staging" && $CI_PROJECT_NAMESPACE != "xen-project"'
> > +      when: never
> > +    - when: always
> 
> If we're doing this for staging, we should include staging-* and
> stable-*.  They're all the same from this point of view.
> 
> However, this does need double checking with the committers who use
> gitlab regularly (CC'd).  This doesn't happen to interfere with my
> commit workflow (I use a separate branch called for-staging), but I
> can't talk for others.

I'd like to avoid broad patterns like staging-* or stable-* here, I'm
pretty sure people do use branches like staging-X.Y-something. While it
would be possible to exclude them by listing exact names, I'm not sure
if it's worth it, given the push frequency to them (few times a month)
and those being mirrored to less repositories (only FuSa fork?).
Stefano Stabellini July 21, 2023, 11:42 p.m. UTC | #3
On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > > "staging" branch is mirrored (automatically or manually) to several
> > > repositories. Avoid building it several times to not waste runner
> > > resources.

Hi Marek,

Let me try to understand the use-case a bit better. You would like the
following "staging" branch to run a full pipeline:
https://gitlab.com/xen-project/xen

But if someone under xen-project/people is mirroring
https://gitlab.com/xen-project/xen, this patch is attempting to skip the
additional pipeline. For instance, if I am mirroring staging in my
personal repo:

https://gitlab.com/xen-project/people/sstabellini/xen

We are skipping the additional pipeline there.


Is that correct? If so, it would be easier to ask everyone to make sure
they have "Trigger pipelines for mirror updates" unselected:

https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates


> > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > > ---
> > >  .gitlab-ci.yml | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > >
> > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > index c8bd7519d5fb..c3b05e32636b 100644
> > > --- a/.gitlab-ci.yml
> > > +++ b/.gitlab-ci.yml
> > > @@ -2,6 +2,12 @@ stages:
> > >    - build
> > >    - test
> > >  
> > > +workflow:
> > > +  rules:
> > > +    - if: '$CI_COMMIT_REF_NAME == "staging" && $CI_PROJECT_NAMESPACE != "xen-project"'
> > > +      when: never
> > > +    - when: always
> > 
> > If we're doing this for staging, we should include staging-* and
> > stable-*.  They're all the same from this point of view.
> > 
> > However, this does need double checking with the committers who use
> > gitlab regularly (CC'd).  This doesn't happen to interfere with my
> > commit workflow (I use a separate branch called for-staging), but I
> > can't talk for others.
> 
> I'd like to avoid broad patterns like staging-* or stable-* here, I'm
> pretty sure people do use branches like staging-X.Y-something. While it
> would be possible to exclude them by listing exact names, I'm not sure
> if it's worth it, given the push frequency to them (few times a month)
> and those being mirrored to less repositories (only FuSa fork?).
Marek Marczykowski-Górecki July 22, 2023, 12:07 a.m. UTC | #4
On Fri, Jul 21, 2023 at 04:42:11PM -0700, Stefano Stabellini wrote:
> On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> > On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> > > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > > > "staging" branch is mirrored (automatically or manually) to several
> > > > repositories. Avoid building it several times to not waste runner
> > > > resources.
> 
> Hi Marek,
> 
> Let me try to understand the use-case a bit better. You would like the
> following "staging" branch to run a full pipeline:
> https://gitlab.com/xen-project/xen
> 
> But if someone under xen-project/people is mirroring
> https://gitlab.com/xen-project/xen, this patch is attempting to skip the
> additional pipeline. For instance, if I am mirroring staging in my
> personal repo:
> 
> https://gitlab.com/xen-project/people/sstabellini/xen
> 
> We are skipping the additional pipeline there.

Yes.

> Is that correct? If so, it would be easier to ask everyone to make sure
> they have "Trigger pipelines for mirror updates" unselected:
> 
> https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates

If that's set in gitlab as pull mirror (instead of push from somewhere
else), then that indeed may be enough. But is it really in all those
cases?

> > > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > > > ---
> > > >  .gitlab-ci.yml | 6 ++++++
> > > >  1 file changed, 6 insertions(+)
> > > >
> > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > > index c8bd7519d5fb..c3b05e32636b 100644
> > > > --- a/.gitlab-ci.yml
> > > > +++ b/.gitlab-ci.yml
> > > > @@ -2,6 +2,12 @@ stages:
> > > >    - build
> > > >    - test
> > > >  
> > > > +workflow:
> > > > +  rules:
> > > > +    - if: '$CI_COMMIT_REF_NAME == "staging" && $CI_PROJECT_NAMESPACE != "xen-project"'
> > > > +      when: never
> > > > +    - when: always
> > > 
> > > If we're doing this for staging, we should include staging-* and
> > > stable-*.  They're all the same from this point of view.
> > > 
> > > However, this does need double checking with the committers who use
> > > gitlab regularly (CC'd).  This doesn't happen to interfere with my
> > > commit workflow (I use a separate branch called for-staging), but I
> > > can't talk for others.
> > 
> > I'd like to avoid broad patterns like staging-* or stable-* here, I'm
> > pretty sure people do use branches like staging-X.Y-something. While it
> > would be possible to exclude them by listing exact names, I'm not sure
> > if it's worth it, given the push frequency to them (few times a month)
> > and those being mirrored to less repositories (only FuSa fork?).
Stefano Stabellini July 22, 2023, 12:14 a.m. UTC | #5
On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> On Fri, Jul 21, 2023 at 04:42:11PM -0700, Stefano Stabellini wrote:
> > On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> > > > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > > > > "staging" branch is mirrored (automatically or manually) to several
> > > > > repositories. Avoid building it several times to not waste runner
> > > > > resources.
> > 
> > Hi Marek,
> > 
> > Let me try to understand the use-case a bit better. You would like the
> > following "staging" branch to run a full pipeline:
> > https://gitlab.com/xen-project/xen
> > 
> > But if someone under xen-project/people is mirroring
> > https://gitlab.com/xen-project/xen, this patch is attempting to skip the
> > additional pipeline. For instance, if I am mirroring staging in my
> > personal repo:
> > 
> > https://gitlab.com/xen-project/people/sstabellini/xen
> > 
> > We are skipping the additional pipeline there.
> 
> Yes.
> 
> > Is that correct? If so, it would be easier to ask everyone to make sure
> > they have "Trigger pipelines for mirror updates" unselected:
> > 
> > https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates
> 
> If that's set in gitlab as pull mirror (instead of push from somewhere
> else), then that indeed may be enough. But is it really in all those
> cases?

Yes, it is an option in the pull mirror, by default should be unselected
I believe.
Marek Marczykowski-Górecki July 22, 2023, 12:24 a.m. UTC | #6
On Fri, Jul 21, 2023 at 05:14:01PM -0700, Stefano Stabellini wrote:
> On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > On Fri, Jul 21, 2023 at 04:42:11PM -0700, Stefano Stabellini wrote:
> > > On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> > > > > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > > > > > "staging" branch is mirrored (automatically or manually) to several
> > > > > > repositories. Avoid building it several times to not waste runner
> > > > > > resources.
> > > 
> > > Hi Marek,
> > > 
> > > Let me try to understand the use-case a bit better. You would like the
> > > following "staging" branch to run a full pipeline:
> > > https://gitlab.com/xen-project/xen
> > > 
> > > But if someone under xen-project/people is mirroring
> > > https://gitlab.com/xen-project/xen, this patch is attempting to skip the
> > > additional pipeline. For instance, if I am mirroring staging in my
> > > personal repo:
> > > 
> > > https://gitlab.com/xen-project/people/sstabellini/xen
> > > 
> > > We are skipping the additional pipeline there.
> > 
> > Yes.
> > 
> > > Is that correct? If so, it would be easier to ask everyone to make sure
> > > they have "Trigger pipelines for mirror updates" unselected:
> > > 
> > > https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates
> > 
> > If that's set in gitlab as pull mirror (instead of push from somewhere
> > else), then that indeed may be enough. But is it really in all those
> > cases?
> 
> Yes, it is an option in the pull mirror, by default should be unselected
> I believe.

Well, if that's the case, either it got manually enabled on those 4 (?)
forks, or those are using something else for mirroring the staging
branch (in which case, the setting would not help). I can't see this
part of the settings in other's repositories, so I don't know.
Stefano Stabellini July 22, 2023, 12:49 a.m. UTC | #7
On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> On Fri, Jul 21, 2023 at 05:14:01PM -0700, Stefano Stabellini wrote:
> > On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > On Fri, Jul 21, 2023 at 04:42:11PM -0700, Stefano Stabellini wrote:
> > > > On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > > On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> > > > > > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > > > > > > "staging" branch is mirrored (automatically or manually) to several
> > > > > > > repositories. Avoid building it several times to not waste runner
> > > > > > > resources.
> > > > 
> > > > Hi Marek,
> > > > 
> > > > Let me try to understand the use-case a bit better. You would like the
> > > > following "staging" branch to run a full pipeline:
> > > > https://gitlab.com/xen-project/xen
> > > > 
> > > > But if someone under xen-project/people is mirroring
> > > > https://gitlab.com/xen-project/xen, this patch is attempting to skip the
> > > > additional pipeline. For instance, if I am mirroring staging in my
> > > > personal repo:
> > > > 
> > > > https://gitlab.com/xen-project/people/sstabellini/xen
> > > > 
> > > > We are skipping the additional pipeline there.
> > > 
> > > Yes.
> > > 
> > > > Is that correct? If so, it would be easier to ask everyone to make sure
> > > > they have "Trigger pipelines for mirror updates" unselected:
> > > > 
> > > > https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates
> > > 
> > > If that's set in gitlab as pull mirror (instead of push from somewhere
> > > else), then that indeed may be enough. But is it really in all those
> > > cases?
> > 
> > Yes, it is an option in the pull mirror, by default should be unselected
> > I believe.
> 
> Well, if that's the case, either it got manually enabled on those 4 (?)
> forks, or those are using something else for mirroring the staging
> branch (in which case, the setting would not help). I can't see this
> part of the settings in other's repositories, so I don't know.

Do you know the name of those 4 forks? I can help figure it out.
Marek Marczykowski-Górecki July 22, 2023, 1 a.m. UTC | #8
On Fri, Jul 21, 2023 at 05:49:49PM -0700, Stefano Stabellini wrote:
> On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > On Fri, Jul 21, 2023 at 05:14:01PM -0700, Stefano Stabellini wrote:
> > > On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > On Fri, Jul 21, 2023 at 04:42:11PM -0700, Stefano Stabellini wrote:
> > > > > On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > > > On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> > > > > > > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > > > > > > > "staging" branch is mirrored (automatically or manually) to several
> > > > > > > > repositories. Avoid building it several times to not waste runner
> > > > > > > > resources.
> > > > > 
> > > > > Hi Marek,
> > > > > 
> > > > > Let me try to understand the use-case a bit better. You would like the
> > > > > following "staging" branch to run a full pipeline:
> > > > > https://gitlab.com/xen-project/xen
> > > > > 
> > > > > But if someone under xen-project/people is mirroring
> > > > > https://gitlab.com/xen-project/xen, this patch is attempting to skip the
> > > > > additional pipeline. For instance, if I am mirroring staging in my
> > > > > personal repo:
> > > > > 
> > > > > https://gitlab.com/xen-project/people/sstabellini/xen
> > > > > 
> > > > > We are skipping the additional pipeline there.
> > > > 
> > > > Yes.
> > > > 
> > > > > Is that correct? If so, it would be easier to ask everyone to make sure
> > > > > they have "Trigger pipelines for mirror updates" unselected:
> > > > > 
> > > > > https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates
> > > > 
> > > > If that's set in gitlab as pull mirror (instead of push from somewhere
> > > > else), then that indeed may be enough. But is it really in all those
> > > > cases?
> > > 
> > > Yes, it is an option in the pull mirror, by default should be unselected
> > > I believe.
> > 
> > Well, if that's the case, either it got manually enabled on those 4 (?)
> > forks, or those are using something else for mirroring the staging
> > branch (in which case, the setting would not help). I can't see this
> > part of the settings in other's repositories, so I don't know.
> 
> Do you know the name of those 4 forks? I can help figure it out.

Looking at "activity" view on gitlab, I see those:
https://gitlab.com/xen-project/fusa/xen-integration
https://gitlab.com/xen-project/people/olkur/xen
https://gitlab.com/xen-project/people/andyhhp/xen

There are few more that have staging branch almost up to date, but seems
to be pushed manually (based on it being not fully up to date) and less
often.
Stefano Stabellini July 22, 2023, 1:18 a.m. UTC | #9
Hi Andrew, Oleksii,

Please see below.

It looks like you have configured your personal repositories to mirror
upstream Xen:

https://gitlab.com/xen-project/people/olkur/xen
https://gitlab.com/xen-project/people/andyhhp/xen

Make sure that the option "Trigger pipelines for mirror updates" is
unselected.

If you setup the mirror a long time ago, you might want to stop the
mirror and start it again.

I have just done the same for fusa/xen-integration: I had to go to
settings->repository, stop the existing mirror, and create a new one
making sure "Trigger pipelines for mirror updates" is off.

Cheers,

Stefano



On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> On Fri, Jul 21, 2023 at 05:49:49PM -0700, Stefano Stabellini wrote:
> > On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > On Fri, Jul 21, 2023 at 05:14:01PM -0700, Stefano Stabellini wrote:
> > > > On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > > On Fri, Jul 21, 2023 at 04:42:11PM -0700, Stefano Stabellini wrote:
> > > > > > On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > > > > On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper wrote:
> > > > > > > > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki wrote:
> > > > > > > > > "staging" branch is mirrored (automatically or manually) to several
> > > > > > > > > repositories. Avoid building it several times to not waste runner
> > > > > > > > > resources.
> > > > > > 
> > > > > > Hi Marek,
> > > > > > 
> > > > > > Let me try to understand the use-case a bit better. You would like the
> > > > > > following "staging" branch to run a full pipeline:
> > > > > > https://gitlab.com/xen-project/xen
> > > > > > 
> > > > > > But if someone under xen-project/people is mirroring
> > > > > > https://gitlab.com/xen-project/xen, this patch is attempting to skip the
> > > > > > additional pipeline. For instance, if I am mirroring staging in my
> > > > > > personal repo:
> > > > > > 
> > > > > > https://gitlab.com/xen-project/people/sstabellini/xen
> > > > > > 
> > > > > > We are skipping the additional pipeline there.
> > > > > 
> > > > > Yes.
> > > > > 
> > > > > > Is that correct? If so, it would be easier to ask everyone to make sure
> > > > > > they have "Trigger pipelines for mirror updates" unselected:
> > > > > > 
> > > > > > https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates
> > > > > 
> > > > > If that's set in gitlab as pull mirror (instead of push from somewhere
> > > > > else), then that indeed may be enough. But is it really in all those
> > > > > cases?
> > > > 
> > > > Yes, it is an option in the pull mirror, by default should be unselected
> > > > I believe.
> > > 
> > > Well, if that's the case, either it got manually enabled on those 4 (?)
> > > forks, or those are using something else for mirroring the staging
> > > branch (in which case, the setting would not help). I can't see this
> > > part of the settings in other's repositories, so I don't know.
> > 
> > Do you know the name of those 4 forks? I can help figure it out.
> 
> Looking at "activity" view on gitlab, I see those:
> https://gitlab.com/xen-project/fusa/xen-integration
> https://gitlab.com/xen-project/people/olkur/xen
> https://gitlab.com/xen-project/people/andyhhp/xen
> 
> There are few more that have staging branch almost up to date, but seems
> to be pushed manually (based on it being not fully up to date) and less
> often.
> 
> -- 
> Best Regards,
> Marek Marczykowski-Górecki
> Invisible Things Lab
>
Oleksii Kurochko July 24, 2023, 8:27 a.m. UTC | #10
Hi Stefano,

On Fri, 2023-07-21 at 18:18 -0700, Stefano Stabellini wrote:
> Hi Andrew, Oleksii,
> 
> Please see below.
> 
> It looks like you have configured your personal repositories to
> mirror
> upstream Xen:
> 
> https://gitlab.com/xen-project/people/olkur/xen
> https://gitlab.com/xen-project/people/andyhhp/xen
> 
> Make sure that the option "Trigger pipelines for mirror updates" is
> unselected.
> 
> If you setup the mirror a long time ago, you might want to stop the
> mirror and start it again.
> 
> I have just done the same for fusa/xen-integration: I had to go to
> settings->repository, stop the existing mirror, and create a new one
> making sure "Trigger pipelines for mirror updates" is off.
I checked the option is unselected.

But I have selected "Mirror all branches" in "Mirror branches".
I can use "Mirror specific branches" to avoid 'staging' mirroring.

Will it be enough?

~ Oleksii
> 
> 
> 
> On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > On Fri, Jul 21, 2023 at 05:49:49PM -0700, Stefano Stabellini wrote:
> > > On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > On Fri, Jul 21, 2023 at 05:14:01PM -0700, Stefano Stabellini
> > > > wrote:
> > > > > On Sat, 22 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > > > On Fri, Jul 21, 2023 at 04:42:11PM -0700, Stefano
> > > > > > Stabellini wrote:
> > > > > > > On Mon, 17 Jul 2023, Marek Marczykowski-Górecki wrote:
> > > > > > > > On Mon, Jul 17, 2023 at 02:14:14PM +0100, Andrew Cooper
> > > > > > > > wrote:
> > > > > > > > > On 17/07/2023 2:09 pm, Marek Marczykowski-Górecki
> > > > > > > > > wrote:
> > > > > > > > > > "staging" branch is mirrored (automatically or
> > > > > > > > > > manually) to several
> > > > > > > > > > repositories. Avoid building it several times to
> > > > > > > > > > not waste runner
> > > > > > > > > > resources.
> > > > > > > 
> > > > > > > Hi Marek,
> > > > > > > 
> > > > > > > Let me try to understand the use-case a bit better. You
> > > > > > > would like the
> > > > > > > following "staging" branch to run a full pipeline:
> > > > > > > https://gitlab.com/xen-project/xen
> > > > > > > 
> > > > > > > But if someone under xen-project/people is mirroring
> > > > > > > https://gitlab.com/xen-project/xen, this patch is
> > > > > > > attempting to skip the
> > > > > > > additional pipeline. For instance, if I am mirroring
> > > > > > > staging in my
> > > > > > > personal repo:
> > > > > > > 
> > > > > > > https://gitlab.com/xen-project/people/sstabellini/xen
> > > > > > > 
> > > > > > > We are skipping the additional pipeline there.
> > > > > > 
> > > > > > Yes.
> > > > > > 
> > > > > > > Is that correct? If so, it would be easier to ask
> > > > > > > everyone to make sure
> > > > > > > they have "Trigger pipelines for mirror updates"
> > > > > > > unselected:
> > > > > > > 
> > > > > > > https://docs.gitlab.com/ee/user/project/repository/mirror/pull.html#trigger-pipelines-for-mirror-updates
> > > > > > 
> > > > > > If that's set in gitlab as pull mirror (instead of push
> > > > > > from somewhere
> > > > > > else), then that indeed may be enough. But is it really in
> > > > > > all those
> > > > > > cases?
> > > > > 
> > > > > Yes, it is an option in the pull mirror, by default should be
> > > > > unselected
> > > > > I believe.
> > > > 
> > > > Well, if that's the case, either it got manually enabled on
> > > > those 4 (?)
> > > > forks, or those are using something else for mirroring the
> > > > staging
> > > > branch (in which case, the setting would not help). I can't see
> > > > this
> > > > part of the settings in other's repositories, so I don't know.
> > > 
> > > Do you know the name of those 4 forks? I can help figure it out.
> > 
> > Looking at "activity" view on gitlab, I see those:
> > https://gitlab.com/xen-project/fusa/xen-integration
> > https://gitlab.com/xen-project/people/olkur/xen
> > https://gitlab.com/xen-project/people/andyhhp/xen
> > 
> > There are few more that have staging branch almost up to date, but
> > seems
> > to be pushed manually (based on it being not fully up to date) and
> > less
> > often.
> > 
> > -- 
> > Best Regards,
> > Marek Marczykowski-Górecki
> > Invisible Things Lab
Stefano Stabellini July 24, 2023, 8:58 p.m. UTC | #11
On Mon, 24 Jul 2023, Oleksii wrote:
> Hi Stefano,
> 
> On Fri, 2023-07-21 at 18:18 -0700, Stefano Stabellini wrote:
> > Hi Andrew, Oleksii,
> > 
> > Please see below.
> > 
> > It looks like you have configured your personal repositories to
> > mirror
> > upstream Xen:
> > 
> > https://gitlab.com/xen-project/people/olkur/xen
> > https://gitlab.com/xen-project/people/andyhhp/xen
> > 
> > Make sure that the option "Trigger pipelines for mirror updates" is
> > unselected.
> > 
> > If you setup the mirror a long time ago, you might want to stop the
> > mirror and start it again.
> > 
> > I have just done the same for fusa/xen-integration: I had to go to
> > settings->repository, stop the existing mirror, and create a new one
> > making sure "Trigger pipelines for mirror updates" is off.
> I checked the option is unselected.
> 
> But I have selected "Mirror all branches" in "Mirror branches".
> I can use "Mirror specific branches" to avoid 'staging' mirroring.
> 
> Will it be enough?

My understanding is that if you already have "Trigger pipelines for
mirror updates" unselected, then you shouldn't need anything else.
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c8bd7519d5fb..c3b05e32636b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,6 +2,12 @@  stages:
   - build
   - test
 
+workflow:
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == "staging" && $CI_PROJECT_NAMESPACE != "xen-project"'
+      when: never
+    - when: always
+
 include:
   - 'automation/gitlab-ci/build.yaml'
   - 'automation/gitlab-ci/test.yaml'