Re: GitLab CI runners for non-Linux systems

2018-06-06 Thread xclaesse
Le mercredi 06 juin 2018 à 15:44 +0100, Ross Burton a écrit :
> On 6 June 2018 at 15:38,   wrote:
> > Le mercredi 06 juin 2018 à 15:33 +0100, Ross Burton a écrit :
> > > On 18 May 2018 at 10:52, Philip Withnall 
> > > wrote:
> > > > 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
> > > 
> > > Would you be interested in extending the Linux coverage to
> > > include cross-building to proper Linux?
> > > 
> > > https://gitlab.gnome.org/rburton/glib/-/jobs/42792 is a bit hacky
> > > but demonstrates that using a Yocto-built toolchain with
> > > autotools, glib will cross-build successfully to aarch64.  Next
> > > step is to try with Meson, but auto* was easier as we exercise
> > > that in our own QA.
> > 
> > We already have android aarch64 and mingw64 cross build on our
> > linux docker images using meson. More cross build could be added of
> > course.
> 
> How about mips64 proper Linux (not Android).  Actually, MIPS64/musl
> would be an interesting combination given the patches we've
> previously had to carry.
> 
> Ross

If someone has an interest in keeping an arch working, they certainly
should add a CI for it. It's pretty easy for anyone to add cross build
CI:

1) Update Dockerfile[1] to install the required deps into the docker
image, see for example setup-android-ndk.sh[2]
2) Test locally with run-docker.sh
3) Upload your new docker image to gitlab on a new name and update the
docker image name in gitlab-ci.yml, to test on your personal repo
4) If all is good, create a MR :)

[1] https://gitlab.gnome.org/GNOME/glib/blob/master/.gitlab-ci/Dockerfi
le
[2] https://gitlab.gnome.org/GNOME/glib/blob/master/.gitlab-ci/setup-an
droid-ndk.sh

Regards,
Xavier Claessens.___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-06-06 Thread Ross Burton
On 6 June 2018 at 15:38,  wrote:

> Le mercredi 06 juin 2018 à 15:33 +0100, Ross Burton a écrit :
>
> On 18 May 2018 at 10:52, Philip Withnall  wrote:
>
> 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
>
>
> Would you be interested in extending the Linux coverage to include
> cross-building to proper Linux?
>
> https://gitlab.gnome.org/rburton/glib/-/jobs/42792 is a bit hacky but
> demonstrates that using a Yocto-built toolchain with autotools, glib will
> cross-build successfully to aarch64.  Next step is to try with Meson, but
> auto* was easier as we exercise that in our own QA.
>
>
> We already have android aarch64 and mingw64 cross build on our linux
> docker images using meson. More cross build could be added of course.
>

How about mips64 proper Linux (not Android).  Actually, MIPS64/musl would
be an interesting combination given the patches we've previously had to
carry.

Ross
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-06-06 Thread xclaesse
Le mercredi 06 juin 2018 à 15:33 +0100, Ross Burton a écrit :
> On 18 May 2018 at 10:52, Philip Withnall 
> wrote:
> > 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
> 
> Would you be interested in extending the Linux coverage to include
> cross-building to proper Linux?
> 
> https://gitlab.gnome.org/rburton/glib/-/jobs/42792 is a bit hacky but
> demonstrates that using a Yocto-built toolchain with autotools, glib
> will cross-build successfully to aarch64.  Next step is to try with
> Meson, but auto* was easier as we exercise that in our own QA.

We already have android aarch64 and mingw64 cross build on our linux
docker images using meson. More cross build could be added of course.

Regards,
Xavier Claessens.___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-06-06 Thread xclaesse
Le mercredi 06 juin 2018 à 15:21 +0100, Philip Withnall a écrit :
> What are those 5 commands? I think it should be possible to use a
> separate Docker image for the FreeBSD CI, but run it on the same
> Docker
> hosts as the Fedora image which we use for the Linux CI and
> crossbuilds.
> 
> See https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#def
> in
> e-image-and-services-from-gitlab-ci-yml.

I don't think we can run FreeBSD docker image on Linux host. It's not a
VM, it's a container, so I _think_ it must be a FreeBSD host.

But it would be awesome if our AWS infrastructure could run VirtualBox
VMs.

Regards,
Xavier Claessens.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-06-06 Thread Ross Burton
On 18 May 2018 at 10:52, Philip Withnall  wrote:

> 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
>

Would you be interested in extending the Linux coverage to include
cross-building to proper Linux?

https://gitlab.gnome.org/rburton/glib/-/jobs/42792 is a bit hacky but
demonstrates that using a Yocto-built toolchain with autotools, glib will
cross-build successfully to aarch64.  Next step is to try with Meson, but
auto* was easier as we exercise that in our own QA.

Ross
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-06-06 Thread Philip Withnall
On Wed, 2018-05-30 at 00:59 +0800, 藍挺瑋 wrote:
> 於 星期一,2018-05-28 於 12:09 -0400,xclae...@gmail.com 提到:
> > Hi,
> > 
> > We now have 6 arch tested for glib, all with Meson.
> > 
> > - macosx-10.13-meson-x86_64
> >   * Native macosx 10.13 build
> >   * Fails to build with --werror, if anyone wants to take a look.
> >   * Some unit tests fails and are ignored, if anyone wants to take
> > a
> > look.
> >   * Machine currently hosted at Collabora Montreal office, will
> > setup
> > another runner on another machine we have in a proper data center.
> 
> It looks like this one was temporarily removed.
> 
> > Missing, if someone wants to contribute:
> >  - Some autotools runners? IMHO (I'm not maintainer) we should
> > recommend meson for 2.58 and drop autotools for 2.60.
> >  - Some 32 bits archs?
> >  - More macosx/android/windows/distros versions?
> >  - *BSD
> 
> After spending a few days on fixing GLib tests, I finally get all
> tests pass on
> FreeBSD: https://gitlab.gnome.org/lantw/glib/-/jobs/38840
> 
> The test ran in a jail with FreeBSD 11.1-RELEASE-p10 userland on
> FreeBSD 11.2-
> BETA3 amd64 kernel.
> 
> In fact, 'collate' test fails but it is marked as 'SKIP' because of
> lacking
> en_US locale, 'testfilemonitor' is modified to allow some missing
> events because
> kqueue isn't as good as inotify on file monitoring. Even if not all
> tests work
> perfectly, running these tests already let me find a few bugs and fix
> problems
> in GKqueueFileMonitor. The code and commits in my GLib fork are just
> for quick
> testing and I will make them look better before submitting a merge
> request.
> 
> However, the runner I use in my GLib fork runs in a VM whose host is
> very
> unreliable and not suitable for use as an official CI runner. This
> host crashes
> often and its uptime is usually less than 2 weeks. It also gives me
> random
> segfault and corrupted files sometimes. I can document steps required
> to run
> GitLab CI runner on FreeBSD, so people who are able to provide
> machines can
> setup a runner quickly. It is easy and can be done in about 5
> commands.

What are those 5 commands? I think it should be possible to use a
separate Docker image for the FreeBSD CI, but run it on the same Docker
hosts as the Fedora image which we use for the Linux CI and
crossbuilds.

See https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#defin
e-image-and-services-from-gitlab-ci-yml.

Philip

signature.asc
Description: This is a digitally signed message part
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-30 Thread Nirbheek Chauhan
On Tue, May 29, 2018 at 10:30 PM 藍挺瑋  wrote:
> However, the runner I use in my GLib fork runs in a VM whose host is very
> unreliable and not suitable for use as an official CI runner. This host
crashes
> often and its uptime is usually less than 2 weeks. It also gives me random
> segfault and corrupted files sometimes. I can document steps required to
run
> GitLab CI runner on FreeBSD, so people who are able to provide machines
can
> setup a runner quickly. It is easy and can be done in about 5 commands.


It would be amazing if you could do that (maybe an email will work), so it
can be added for other projects too once we've ironed out the kinks.

Cheers,
Nirbheek
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-28 Thread xclaesse
Hi,

We now have 6 arch tested for glib, all with Meson.

- fedora-meson-x86_64:
  * Native Linux
  * Builds with --werror
  * All unit tests pass

- fedora-meson-android_ndk_r16_api21_arm64
  * Cross build for Android
  * Fails to build with --werror, if anyone wants to take a look.
  * Cannot run tests because it's cross built

- fedora-meson-mingw64
  * Cross build for Windows 64 bits
  * Fails to build with --werror, if anyone wants to take a look.
  * Cannot run tests because it's cross built, maybe could run with
wine when Meson supports it: https://github.com/mesonbuild/meson/pull/3
621

- macosx-10.13-meson-x86_64
  * Native macosx 10.13 build
  * Fails to build with --werror, if anyone wants to take a look.
  * Some unit tests fails and are ignored, if anyone wants to take a
look.
  * Machine currently hosted at Collabora Montreal office, will setup
another runner on another machine we have in a proper data center.

- msys2-mingw32
  * Native Windows i686 (I think) build with MSYS2
  * Build with --werror
  * Some unit tests fails and are ignored, if anyone wants to take a
look.
  * Virtual Machine hosted by Christoph Reiter.

- vs2017-x64
  * Native Windows w64 build with MSVC (yes! thanks meson!)
  * Fails to build with --werror, if anyone wants to take a look.
  * Some unit tests fails and are ignored, if anyone wants to take a
look.
  * Virtual Machine hosted by Christoph Reiter. Shared for both msys2
and MSVC builds, maybe will need to clone the VM if it's the
bottleneck.

Missing, if someone wants to contribute:
 - Some autotools runners? IMHO (I'm not maintainer) we should
recommend meson for 2.58 and drop autotools for 2.60.
 - Some 32 bits archs?
 - More macosx/android/windows/distros versions?
 - *BSD
 - Solaris
 - cygwin

Regards,
Xavier Claessens.

Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
> 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
> gtk-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-devel-list
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-25 Thread 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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Christoph Reiter
On Wed, May 23, 2018 at 9:20 PM,   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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread xclaesse
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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Philip Withnall
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
> > >  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

signature.asc
Description: This is a digitally signed message part
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Alan Coopersmith
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
>>  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-   alan.coopersm...@oracle.com
 Oracle Solaris Engineering - https://blogs.oracle.com/alanc



signature.asc
Description: OpenPGP digital signature
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Philip Withnall
On Wed, 2018-05-23 at 16:19 +0200, Christoph Reiter wrote:
> On Mon, May 21, 2018 at 5:54 PM, Alan Coopersmith
>  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

signature.asc
Description: This is a digitally signed message part
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Philip Withnall
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

signature.asc
Description: This is a digitally signed message part
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Philip Withnall
On Fri, 2018-05-18 at 09:21 -0400, philip.chime...@gmail.com wrote:
> On Fri, May 18, 2018 at 5:52 AM Philip Withnall  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

signature.asc
Description: This is a digitally signed message part
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Philip Withnall
On Sun, 2018-05-20 at 00:34 -0400, xclae...@gmail.com 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,   wrote:
> > > On Fri, May 18, 2018 at 5:52 AM Philip Withnall  > > .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
> > desktop-devel-l...@gnome.org
> > https://mail.gnome.org/mailman/listinfo/desktop-devel-list
> 
> ___
> desktop-devel-list mailing list
> desktop-devel-l...@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list

signature.asc
Description: This is a digitally signed message part
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Christoph Reiter
On Mon, May 21, 2018 at 5:54 PM, Alan Coopersmith
 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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-21 Thread Alan Coopersmith
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-   alan.coopersm...@oracle.com
 Oracle Solaris Engineering - https://blogs.oracle.com/alanc
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-20 Thread xclaesse
Le vendredi 18 mai 2018 à 22:15 -0400, xclae...@gmail.com 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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-19 Thread xclaesse
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,   wrote:
> > On Fri, May 18, 2018 at 5:52 AM Philip Withnall  > 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
> desktop-devel-l...@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-19 Thread John Ralls


> On May 19, 2018, at 5:55 AM, xclae...@gmail.com wrote:
> 
> Le vendredi 18 mai 2018 à 23:38 -0400, philip.chime...@gmail.com a
> écrit :
>> On Fri, May 18, 2018 at 10:15 PM  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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-19 Thread xclaesse
Le vendredi 18 mai 2018 à 23:38 -0400, philip.chime...@gmail.com a
écrit :
> On Fri, May 18, 2018 at 10:15 PM  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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-18 Thread philip . chimento
On Fri, May 18, 2018 at 10:15 PM  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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-18 Thread xclaesse
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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-18 Thread Nicolas Dufresne
Le vendredi 18 mai 2018 à 19:16 +0530, Arun Raghavan a écrit :
> On 18 May 2018 at 18:51,   wrote:
> > On Fri, May 18, 2018 at 5:52 AM 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 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
> desktop-devel-l...@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list

signature.asc
Description: This is a digitally signed message part
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-18 Thread philip . chimento
On Fri, May 18, 2018 at 5:52 AM 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 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
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list