GitLab CI runners for non-Linux systems

classic Classic list List threaded Threaded
29 messages Options
12
Reply | Threaded
Open this post in threaded view
|

GitLab CI runners for non-Linux systems

Philip Withnall-2
Hi all,

tl;dr: Want to provide us with a GitLab CI runner for a non-Linux
platform?

There’s been a surge of interest recently, from various directions, in
getting GLib better tested on non-Linux architectures. This is great,
and we’ve got various people to thank for doing the thankless work of
porting and testing. Particularly:
 • macOS: Ryan Schmidt, Patrick Griffis, Michael Lauer, John Ralls
 • Windows/MinGW/MSYS2: LRN, Christoph Reiter, Xavier Claessens, Chun-
wei Fan
 • Android: Xavier Claessens
 • *BSD: Ting-Wei Lan

There’s a real risk of this all bitrotting, though, since the main GLib
developers only have regular access to Linux machines (and don’t have
the bandwidth or expertise to regularly test on other architectures).

The solution here is CI. Christoph Reiter has already got a Windows
MSYS2 CI runner set up on GitLab[1], which is producing helpful results
for GLib.

Can anybody else provide and maintain CI runners for other platforms?
I’d particularly like to see:
 • *BSD (probably OpenBSD and NetBSD)
 • macOS (ideally several versions, since we support from OS X 10.7
upwards[2])
 • Android (probably a cross-build)
 • More Windows configurations (currently we have MSYS2 on Windows
Server 2012; ideally we’d have a MinGW-w64 runner too)

After the initial setup and porting work, I hope these wouldn’t require
much effort to maintain. The fast turnaround on testing GLib on non-
Linux platforms would help us ensure cross-platform compatibility
during development.

Thanks,
Philip

[1]: https://gitlab.gnome.org/creiter/gitlab-ci-win32-runner
[2]: https://wiki.gnome.org/Projects/GLib/SupportedPlatforms
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

philip.chimento
On Fri, May 18, 2018 at 5:52 AM Philip Withnall <[hidden email]> wrote:
Can anybody else provide and maintain CI runners for other platforms?
I’d particularly like to see:
 • *BSD (probably OpenBSD and NetBSD)
 • macOS (ideally several versions, since we support from OS X 10.7
upwards[2])
 • Android (probably a cross-build)
 • More Windows configurations (currently we have MSYS2 on Windows
Server 2012; ideally we’d have a MinGW-w64 runner too)

I can help write the CI job configurations for macOS, but I don't know how to host or set up a runner.

(For a shortcut solution, we could consider farming out the macOS builds to Travis CI, which has macOS runners already available)

Regards,
Other Philip

_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Nicolas Dufresne-4
Le vendredi 18 mai 2018 à 19:16 +0530, Arun Raghavan a écrit :

> On 18 May 2018 at 18:51,  <[hidden email]> wrote:
> > On Fri, May 18, 2018 at 5:52 AM Philip Withnall <[hidden email]>
> > wrote:
> > >
> > > Can anybody else provide and maintain CI runners for other platforms?
> > > I’d particularly like to see:
> > >  • *BSD (probably OpenBSD and NetBSD)
> > >  • macOS (ideally several versions, since we support from OS X 10.7
> > > upwards[2])
> > >  • Android (probably a cross-build)
> > >  • More Windows configurations (currently we have MSYS2 on Windows
> > > Server 2012; ideally we’d have a MinGW-w64 runner too)
> >
> >
> > I can help write the CI job configurations for macOS, but I don't know how
> > to host or set up a runner.
> >
> > (For a shortcut solution, we could consider farming out the macOS builds to
> > Travis CI, which has macOS runners already available)
>
> If anyone can point me to how to set up an Android runner I could try
> to pitch in there.
We had a vague idea that we would hook the Android device to a Lava
lab, and use LQA utility to trigger the run from the cross-build docker
instance. We (Collabora) are not yet ready, but we'll be able to share
some Lava lab time for this if it works / needed.

>
> Cheers,
> Arun
> _______________________________________________
> desktop-devel-list mailing list
> [hidden email]
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (201 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

xclaesse
In reply to this post by Philip Withnall-2
Thanks for this call for help, it's our chance to finally be serious
about supporting multiple platforms, instead of always fixing a
posteriori. Thanks to gitlab that shouldn't be too hard to setup.

Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
>  • macOS (ideally several versions, since we support from OS X 10.7
> upwards[2])

I did a quick test on a macmini (macOS 10.13.4) we have in Collabora
office, and it's almost too easy to setup, not even a challenge!

Well... except that glib fails to build with meson because libffi
subproject does not support darwin. I'll try to investigate that.

>  • Android (probably a cross-build)

I guess we should install Android NDK in a docker image, write the
proper meson cross file, and voilà. I'll give that a try this weekend.

>  • More Windows configurations (currently we have MSYS2 on Windows
> Server 2012; ideally we’d have a MinGW-w64 runner too)

Could also cross build in docker with mingw.

Regards,
Xavier Claessens.
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

philip.chimento
On Fri, May 18, 2018 at 10:15 PM <[hidden email]> wrote:
Thanks for this call for help, it's our chance to finally be serious
about supporting multiple platforms, instead of always fixing a
posteriori. Thanks to gitlab that shouldn't be too hard to setup.

Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
>  • macOS (ideally several versions, since we support from OS X 10.7
> upwards[2])

I did a quick test on a macmini (macOS 10.13.4) we have in Collabora
office, and it's almost too easy to setup, not even a challenge!

Well... except that glib fails to build with meson because libffi
subproject does not support darwin. I'll try to investigate that.

I've been building http://mirrors.kernel.org/sources.redhat.com/libffi/libffi-3.2.1.tar.gz on macOS with no problems since at least 10.9. I think maybe just the meson fork (https://github.com/centricular/libffi/commits/meson) of libffi has this problem.

You could try pre-installing libffi from the tarball on the image, then it wouldn't use the wrapped subproject, I think?

Regards,
Philip C

_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

xclaesse
Le vendredi 18 mai 2018 à 23:38 -0400, [hidden email] a
écrit :

> On Fri, May 18, 2018 at 10:15 PM <[hidden email]> wrote:
> > Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
> > >  • macOS (ideally several versions, since we support from OS X
> > 10.7
> > > upwards[2])
> >
> > I did a quick test on a macmini (macOS 10.13.4) we have in
> > Collabora
> > office, and it's almost too easy to setup, not even a challenge!
> >
> > Well... except that glib fails to build with meson because libffi
> > subproject does not support darwin. I'll try to investigate that.
>
> I've been building http://mirrors.kernel.org/sources.redhat.com/libff
> i/libffi-3.2.1.tar.gz on macOS with no problems since at least 10.9.
> I think maybe just the meson fork (https://github.com/centricular/lib
> ffi/commits/meson) of libffi has this problem.
>
> You could try pre-installing libffi from the tarball on the image,
> then it wouldn't use the wrapped subproject, I think?

"brew install libffi" did the trick, I've got a working CI for macos
\o/

Well... now...

FAILED: glib/glib@@glib-2.0@sha/gatomic.c.o
cc -Iglib/glib@@glib-2.0@sha -Iglib -I../glib -I. -I../ -I/usr/local/Cellar/pcre/8.42/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu89 -O0 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Werror=declaration-after-statement -Werror=format=2 -Werror=format-security -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pthread '-DG_LOG_DOMAIN="GLib"' -DGLIB_COMPILATION -fvisibility=hidden  -MD -MQ 'glib/glib@@glib-2.0@sha/gatomic.c.o' -MF 'glib/glib@@glib-2.0@sha/gatomic.c.o.d' -o 'glib/glib@@glib-2.0@sha/gatomic.c.o' -c ../glib/gatomic.c
../glib/gatomic.c:399:10: error: incompatible integer to pointer conversion passing 'gssize' (aka 'long') to parameter of type 'gpointer' (aka 'void *') [-Werror,-Wint-conversion]
  return g_atomic_pointer_add ((volatile gpointer *) atomic, val);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../glib/gatomic.h:227:46: note: expanded from macro 'g_atomic_pointer_add'
    (gssize) __sync_fetch_and_add ((atomic), (val));                         \
                                             ^~~~~

_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

John Ralls-2


On May 19, 2018, at 5:55 AM, [hidden email] wrote:

Le vendredi 18 mai 2018 à 23:38 -0400, [hidden email] a
écrit :
On Fri, May 18, 2018 at 10:15 PM <[hidden email]> wrote:
Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
• macOS (ideally several versions, since we support from OS X
10.7
upwards[2])

I did a quick test on a macmini (macOS 10.13.4) we have in
Collabora
office, and it's almost too easy to setup, not even a challenge!

Well... except that glib fails to build with meson because libffi
subproject does not support darwin. I'll try to investigate that.

I've been building http://mirrors.kernel.org/sources.redhat.com/libff
i/libffi-3.2.1.tar.gz on macOS with no problems since at least 10.9.
I think maybe just the meson fork (https://github.com/centricular/lib
ffi/commits/meson) of libffi has this problem.

You could try pre-installing libffi from the tarball on the image,
then it wouldn't use the wrapped subproject, I think?

"brew install libffi" did the trick, I've got a working CI for macos
\o/

Well... now...

FAILED: glib/glib@@glib-2.0@sha/gatomic.c.o
cc -Iglib/glib@@glib-2.0@sha -Iglib -I../glib -I. -I../ -I/usr/local/Cellar/pcre/8.42/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu89 -O0 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Werror=declaration-after-statement -Werror=format=2 -Werror=format-security -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pthread '-DG_LOG_DOMAIN="GLib"' -DGLIB_COMPILATION -fvisibility=hidden  -MD -MQ 'glib/glib@@glib-2.0@sha/gatomic.c.o' -MF 'glib/glib@@glib-2.0@sha/gatomic.c.o.d' -o 'glib/glib@@glib-2.0@sha/gatomic.c.o' -c ../glib/gatomic.c
../glib/gatomic.c:399:10: error: incompatible integer to pointer conversion passing 'gssize' (aka 'long') to parameter of type 'gpointer' (aka 'void *') [-Werror,-Wint-conversion]
 return g_atomic_pointer_add ((volatile gpointer *) atomic, val);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../glib/gatomic.h:227:46: note: expanded from macro 'g_atomic_pointer_add'
   (gssize) __sync_fetch_and_add ((atomic), (val));                         \

That conversion is so integral to Glib and Gobject that there are macros for it: https://developer.gnome.org/glib/stable/glib-Type-Conversion-Macros.html.

You’ll just have to set -Wno-int-conversion in CFLAGS.

Regards,
John Ralls



_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

xclaesse
In reply to this post by philip.chimento
Ok, spent way too much time on this, but finally got it working to
cross build glib on our fedora docker image.

https://bugzilla.gnome.org/show_bug.cgi?id=796264

Similar setup could be done to cross build for windows using mingw.
Tests could maybe run with exe_wrapper=wine, that would be fun :P

Good night,
Xavier Claessens.

Le vendredi 18 mai 2018 à 19:16 +0530, Arun Raghavan a écrit :

> On 18 May 2018 at 18:51,  <[hidden email]> wrote:
> > On Fri, May 18, 2018 at 5:52 AM Philip Withnall <[hidden email]
> > o.uk>
> > wrote:
> > >
> > > Can anybody else provide and maintain CI runners for other
> > > platforms?
> > > I’d particularly like to see:
> > >  • *BSD (probably OpenBSD and NetBSD)
> > >  • macOS (ideally several versions, since we support from OS X
> > > 10.7
> > > upwards[2])
> > >  • Android (probably a cross-build)
> > >  • More Windows configurations (currently we have MSYS2 on
> > > Windows
> > > Server 2012; ideally we’d have a MinGW-w64 runner too)
> >
> >
> > I can help write the CI job configurations for macOS, but I don't
> > know how
> > to host or set up a runner.
> >
> > (For a shortcut solution, we could consider farming out the macOS
> > builds to
> > Travis CI, which has macOS runners already available)
>
> If anyone can point me to how to set up an Android runner I could try
> to pitch in there.
>
> Cheers,
> Arun
> _______________________________________________
> desktop-devel-list mailing list
> [hidden email]
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

xclaesse
In reply to this post by xclaesse
Le vendredi 18 mai 2018 à 22:15 -0400, [hidden email] a écrit :
>  • More Windows configurations (currently we have MSYS2 on Windows
> > Server 2012; ideally we’d have a MinGW-w64 runner too)
>
> Could also cross build in docker with mingw.

This one was actually easy to setup, our CI docker runs fedora and it
has all deps already packaged for mingw. Unfortunately glib fails to
build, I haven't found the reason why yet.

Opened a bug report:
https://bugzilla.gnome.org/show_bug.cgi?id=796283

Regards,
Xavier Claessens.
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Alan Coopersmith-2
In reply to this post by Philip Withnall-2
On 05/18/18 02:52 AM, Philip Withnall wrote:
> Can anybody else provide and maintain CI runners for other platforms?

Are there instructions somewhere on what's needed to do this?  It involves
us providing & maintaining the machine, right?

--
        -Alan Coopersmith-               [hidden email]
         Oracle Solaris Engineering - https://blogs.oracle.com/alanc
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Christoph Reiter
On Mon, May 21, 2018 at 5:54 PM, Alan Coopersmith
<[hidden email]> wrote:
> On 05/18/18 02:52 AM, Philip Withnall wrote:
>> Can anybody else provide and maintain CI runners for other platforms?
>
> Are there instructions somewhere on what's needed to do this?

1) Install the gitlab runner on a server:
https://docs.gitlab.com/runner/#install-gitlab-runner
2) Fork glib on gitlab and register your runner in the forked repo settings
3) Adjust the .gitlab-ci.yml file to add a job using your runner. See
Xavier's recent patch for
  macos for what's roughly needed there:
https://bugzilla.gnome.org/show_bug.cgi?id=796343
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Philip Withnall-2
In reply to this post by xclaesse
On Sun, 2018-05-20 at 00:34 -0400, [hidden email] wrote:
> Ok, spent way too much time on this, but finally got it working to
> cross build glib on our fedora docker image.
>
> https://bugzilla.gnome.org/show_bug.cgi?id=796264

Fantastic, thanks. I will review this (and your other CI submissions)
as soon as I can.

> Similar setup could be done to cross build for windows using mingw.
> Tests could maybe run with exe_wrapper=wine, that would be fun :P

That would indeed be cool to try, if anyone is interested in
bootstrapping and supporting that as a supported platform. I honestly
don’t know whether that would be a little, or a lot, of work.

Philip

> Le vendredi 18 mai 2018 à 19:16 +0530, Arun Raghavan a écrit :
> > On 18 May 2018 at 18:51,  <[hidden email]> wrote:
> > > On Fri, May 18, 2018 at 5:52 AM Philip Withnall <philip@tecnocode
> > > .c
> > > o.uk>
> > > wrote:
> > > >
> > > > Can anybody else provide and maintain CI runners for other
> > > > platforms?
> > > > I’d particularly like to see:
> > > >  • *BSD (probably OpenBSD and NetBSD)
> > > >  • macOS (ideally several versions, since we support from OS X
> > > > 10.7
> > > > upwards[2])
> > > >  • Android (probably a cross-build)
> > > >  • More Windows configurations (currently we have MSYS2 on
> > > > Windows
> > > > Server 2012; ideally we’d have a MinGW-w64 runner too)
> > >
> > >
> > > I can help write the CI job configurations for macOS, but I don't
> > > know how
> > > to host or set up a runner.
> > >
> > > (For a shortcut solution, we could consider farming out the macOS
> > > builds to
> > > Travis CI, which has macOS runners already available)
> >
> > If anyone can point me to how to set up an Android runner I could
> > try
> > to pitch in there.
> >
> > Cheers,
> > Arun
> > _______________________________________________
> > desktop-devel-list mailing list
> > [hidden email]
> > https://mail.gnome.org/mailman/listinfo/desktop-devel-list
>
> _______________________________________________
> desktop-devel-list mailing list
> [hidden email]
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Philip Withnall-2
In reply to this post by philip.chimento
On Fri, 2018-05-18 at 09:21 -0400, [hidden email] wrote:

> On Fri, May 18, 2018 at 5:52 AM Philip Withnall <[hidden email].
> uk> wrote:
> > Can anybody else provide and maintain CI runners for other
> > platforms?
> > I’d particularly like to see:
> >  • *BSD (probably OpenBSD and NetBSD)
> >  • macOS (ideally several versions, since we support from OS X 10.7
> > upwards[2])
> >  • Android (probably a cross-build)
> >  • More Windows configurations (currently we have MSYS2 on Windows
> > Server 2012; ideally we’d have a MinGW-w64 runner too)
>
> I can help write the CI job configurations for macOS, but I don't
> know how to host or set up a runner.
>
> (For a shortcut solution, we could consider farming out the macOS
> builds to Travis CI, which has macOS runners already available)
Xavier has now provided a configuration here:
https://bugzilla.gnome.org/show_bug.cgi?id=796343

It looks like work is needed to get all the unit tests passing. I know
there are some unreviewed patches in Bugzilla for fixing various things
on OS X (they’re on my radar). Help with those, and with fixing other
failures from bug #796343, would be appreciated!

---

Copying the instructions Christoph provided for configuring a runner
from elsewhere in the thread, for anyone who’s interested:

1) Install the gitlab runner on a server:
https://docs.gitlab.com/runner/#install-gitlab-runner
2) Fork glib on gitlab and register your runner in the forked repo
settings
3) Adjust the .gitlab-ci.yml file to add a job using your runner. See
Xavier's recent patch for
  macos for what's roughly needed there:
https://bugzilla.gnome.org/show_bug.cgi?id=796343

Philip
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Philip Withnall-2
In reply to this post by Philip Withnall-2
On Sat, 2018-05-19 at 20:41 +1000, Jonathan Matthew wrote:

> On Fri, May 18, 2018 at 10:52:18AM +0100, Philip Withnall wrote:
> >
> > Can anybody else provide and maintain CI runners for other
> > platforms?
> > I’d particularly like to see:
> >  • *BSD (probably OpenBSD and NetBSD)
> >  • macOS (ideally several versions, since we support from OS X 10.7
> > upwards[2])
> >  • Android (probably a cross-build)
> >  • More Windows configurations (currently we have MSYS2 on Windows
> > Server 2012; ideally we’d have a MinGW-w64 runner too)
>
> I can do OpenBSD and SmartOS, assuming I can get the gitlab CI runner
> to
> work on either of them.
That would be great, thanks. Here are the instructions Christoph
provided elsewhere in the thread about how to set things up, in case
you haven’t tried this before:

1) Install the gitlab runner on a server:
https://docs.gitlab.com/runner/#install-gitlab-runner
2) Fork glib on gitlab and register your runner in the forked repo
settings
3) Adjust the .gitlab-ci.yml file to add a job using your runner. See
Xavier's recent patch for
  macos for what's roughly needed there:
https://bugzilla.gnome.org/show_bug.cgi?id=796343

Once all that is working, file an ‘infrastructure’ issue (like https://
gitlab.gnome.org/Infrastructure/GitLab/issues/141) to get a CI token
for the runner to be used by GitLab.

Thanks,
Philip
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Philip Withnall-2
In reply to this post by Christoph Reiter
On Wed, 2018-05-23 at 16:19 +0200, Christoph Reiter wrote:

> On Mon, May 21, 2018 at 5:54 PM, Alan Coopersmith
> <[hidden email]> wrote:
> > On 05/18/18 02:52 AM, Philip Withnall wrote:
> > > Can anybody else provide and maintain CI runners for other
> > > platforms?
> >
> > Are there instructions somewhere on what's needed to do this?
>
> 1) Install the gitlab runner on a server:
> https://docs.gitlab.com/runner/#install-gitlab-runner
I’m not sure of the latest status of this, but it looks like gitab-
runner might need some porting work to Solaris to be done before it can
be used. There’s some information about it here:

https://gitlab.com/gitlab-org/gitlab-runner/issues/1764

> 2) Fork glib on gitlab and register your runner in the forked repo
> settings
> 3) Adjust the .gitlab-ci.yml file to add a job using your runner. See
> Xavier's recent patch for
>   macos for what's roughly needed there:
> https://bugzilla.gnome.org/show_bug.cgi?id=796343

Additionally, once all that is working, file an ‘infrastructure’ issue
(like https://gitlab.gnome.org/Infrastructure/GitLab/issues/141) to get
a CI token for the runner to be used by GitLab.

Thanks, and please keep me in the loop!
Philip
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Alan Coopersmith-2
On 05/23/18 09:40 AM, Philip Withnall wrote:

> On Wed, 2018-05-23 at 16:19 +0200, Christoph Reiter wrote:
>> On Mon, May 21, 2018 at 5:54 PM, Alan Coopersmith
>> <[hidden email]> wrote:
>>> On 05/18/18 02:52 AM, Philip Withnall wrote:
>>>> Can anybody else provide and maintain CI runners for other
>>>> platforms?
>>>
>>> Are there instructions somewhere on what's needed to do this?
>>
>> 1) Install the gitlab runner on a server:
>> https://docs.gitlab.com/runner/#install-gitlab-runner
>
> I’m not sure of the latest status of this, but it looks like gitab-
> runner might need some porting work to Solaris to be done before it can
> be used. There’s some information about it here:
>
> https://gitlab.com/gitlab-org/gitlab-runner/issues/1764
>
>> 2) Fork glib on gitlab and register your runner in the forked repo
>> settings
>> 3) Adjust the .gitlab-ci.yml file to add a job using your runner. See
>> Xavier's recent patch for
>>   macos for what's roughly needed there:
>> https://bugzilla.gnome.org/show_bug.cgi?id=796343
>
> Additionally, once all that is working, file an ‘infrastructure’ issue
> (like https://gitlab.gnome.org/Infrastructure/GitLab/issues/141) to get
> a CI token for the runner to be used by GitLab.
Thanks - I'm not going to have time until after we get Solaris 11.4
shipped, but hopefully later this year I'll have some time to see if
we can get a Solaris runner set up in the Oracle cloud.

--
        -Alan Coopersmith-               [hidden email]
         Oracle Solaris Engineering - https://blogs.oracle.com/alanc


_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Philip Withnall-2
On Wed, 2018-05-23 at 10:03 -0700, Alan Coopersmith wrote:

> On 05/23/18 09:40 AM, Philip Withnall wrote:
> > On Wed, 2018-05-23 at 16:19 +0200, Christoph Reiter wrote:
> > > On Mon, May 21, 2018 at 5:54 PM, Alan Coopersmith
> > > <[hidden email]> wrote:
> > > > On 05/18/18 02:52 AM, Philip Withnall wrote:
> > > > > Can anybody else provide and maintain CI runners for other
> > > > > platforms?
> > > >
> > > > Are there instructions somewhere on what's needed to do this?
> > >
> > > 1) Install the gitlab runner on a server:
> > > https://docs.gitlab.com/runner/#install-gitlab-runner
> >
> > I’m not sure of the latest status of this, but it looks like gitab-
> > runner might need some porting work to Solaris to be done before it
> > can
> > be used. There’s some information about it here:
> >
> > https://gitlab.com/gitlab-org/gitlab-runner/issues/1764
> >
> > > 2) Fork glib on gitlab and register your runner in the forked
> > > repo
> > > settings
> > > 3) Adjust the .gitlab-ci.yml file to add a job using your runner.
> > > See
> > > Xavier's recent patch for
> > >   macos for what's roughly needed there:
> > > https://bugzilla.gnome.org/show_bug.cgi?id=796343
> >
> > Additionally, once all that is working, file an ‘infrastructure’
> > issue
> > (like https://gitlab.gnome.org/Infrastructure/GitLab/issues/141) to
> > get
> > a CI token for the runner to be used by GitLab.
>
> Thanks - I'm not going to have time until after we get Solaris 11.4
> shipped, but hopefully later this year I'll have some time to see if
> we can get a Solaris runner set up in the Oracle cloud.
Sure. Whenever you get time, it would be appreciated (and I hope it
would reduce your porting workload, in the long run). Let me know when
you pick this up, or if you have any questions then.

Thanks,
Philip
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

xclaesse
In reply to this post by Philip Withnall-2
Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :

> Hi all,
>
> Can anybody else provide and maintain CI runners for other platforms?
> I’d particularly like to see:
>  • *BSD (probably OpenBSD and NetBSD)
>  • macOS (ideally several versions, since we support from OS X 10.7
> upwards[2])
>  • Android (probably a cross-build)
>  • More Windows configurations (currently we have MSYS2 on Windows
> Server 2012; ideally we’d have a MinGW-w64 runner too)

One big item missing in this list is MSVC. Since we already have a
Windows VM that does MSYS2 CI, is it possible to setup msvc on that one
too, or does it require a VisualStudio licence, or something?

Regards,
Xavier Claessens.
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

Christoph Reiter
On Wed, May 23, 2018 at 9:20 PM,  <[hidden email]> wrote:

> Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
>> Hi all,
>>
>> Can anybody else provide and maintain CI runners for other platforms?
>> I’d particularly like to see:
>>  • *BSD (probably OpenBSD and NetBSD)
>>  • macOS (ideally several versions, since we support from OS X 10.7
>> upwards[2])
>>  • Android (probably a cross-build)
>>  • More Windows configurations (currently we have MSYS2 on Windows
>> Server 2012; ideally we’d have a MinGW-w64 runner too)
>
> One big item missing in this list is MSVC. Since we already have a
> Windows VM that does MSYS2 CI, is it possible to setup msvc on that one
> too, or does it require a VisualStudio licence, or something?

For the license, gvsbuild [0] builds on appveyor which uses the
community edition, so I think you can get by without a license.
For the MSYS2 CI, the server is a bit low on disk space (10-15GB of
40GB left) as I went for the cheaper one, and I don't want to push it
to the limit really.
But if someone knows how to build glib+deps with msvc and wants to
collaborate feel free to contact me.

[0] https://github.com/wingtk/gvsbuild
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: GitLab CI runners for non-Linux systems

xclaesse
Le mercredi 23 mai 2018 à 22:02 +0200, Christoph Reiter a écrit :

> > One big item missing in this list is MSVC. Since we already have a
> > Windows VM that does MSYS2 CI, is it possible to setup msvc on that
> > one
> > too, or does it require a VisualStudio licence, or something?
>
> For the license, gvsbuild [0] builds on appveyor which uses the
> community edition, so I think you can get by without a license.
> For the MSYS2 CI, the server is a bit low on disk space (10-15GB of
> 40GB left) as I went for the cheaper one, and I don't want to push it
> to the limit really.
> But if someone knows how to build glib+deps with msvc and wants to
> collaborate feel free to contact me.
>
> [0] https://github.com/wingtk/gvsbuild

I gave a quick try in my Windows10 VM. You can install VisualStudio
community for free. At install I checked only "Desktop development with
C++" it takes about 3G of disk space.

Once installed, open the "x64 Native Tool ..." there I already had
python and git working. So "pip install meson", "git clone https://gitl
ab.gnome.org/GNOME/glib.git", also you need to download ninja prebuilt
it's just 1 executable you can put anywhere in your path. Then
"meson.py _build" and that's it, all deps are built from subprojects.

Here build failed with this error:
[115/514] Compiling C object glib/glib@@glib-2.0@sha/gslice.c.obj.
FAILED: glib/glib@@glib-2.0@sha/gslice.c.obj
cl @glib/glib@@glib-2.0@sha/gslice.c.obj.rsp
c:\users\xavier claessens\glib\glib\valgrind.h(463): fatal error C1189:
#error:  Unsupported compiler.

So work will be needed to make it actually work, but I don't think
that's going to be anything big. Having a CI doing that would
definitely help.

Regards,
Xavier Claessens.
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
12