Re: GitLab CI runners for non-Linux systems

2018-06-06 Thread 藍挺瑋
於 星期三,2018-06-06 於 15:21 +0100,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? 

1. Install GitLab CI runner
# pkg install gitlab-runner

2. Register GitLab CI runner
# service gitlab_runner register

3. Install dependencies for GLib
# pkg install dbus desktop-file-utils gettext libiconv meson pkgconf python3
shared-mime-info

4. Generate D-Bus /var/lib/dbus/machine-id file
# service dbus onestart

5. Start GitLab CI runner
# service gitlab_runner onestart

For people who didn't have any experience on using FreeBSD, there are a few
things which may be useful to know:

1. FreeBSD package manager 'pkg' isn't pre-installed on new installations, so it
is expected to see messages such as 'package management tool is not yet
installed' when you run 'pkg' the first time. Simply type 'y' at the prompt to
install the real 'pkg'.

2. The default repository is 'quarterly' which may be slightly out of date. If
it turns out to be a problem, you can switch it to the 'latest' repository.

# mkdir -p /usr/local/etc/pkg/repos
# echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest; }' >
/usr/local/etc/pkg/repos/FreeBSD.conf

3. The above 'service  onestart' is used to start the service only one
time. To start a service on boot, type 'sysrc _enable=YES' or manually
edit /etc/rc.conf. After that, you can use 'service  start/stop/status'
instead of 'service  onestart/onestop/onestatus'.

# service gitlab_runner status
Cannot 'status' gitlab_runner. Set gitlab_runner_enable to YES in /etc/rc.conf
or use 'onestatus' instead of 'status'.
# service gitlab_runner rcvar
gitlab_runner_enable="NO"
# sysrc gitlab_runner_enable=YES
# service gitlab_runner status
gitlab_runner is running as pid 1135.

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

I never tried to setup a cross build environment for compiling FreeBSD binaries
on Linux, but maintaining an environment may be harder than installing a FreeBSD
host if it has to be done by manually extracting things from FreeBSD images and
packages. Even if we really have a cross build environment, how can you run
tests on Linux? QEMU without KVM is likely to be slow.

> 
> See https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#defin
> e-image-and-services-from-gitlab-ci-yml.
> 
> Philip
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

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.___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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.___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: GitLab CI runners for non-Linux systems

2018-05-29 Thread 藍挺瑋
於 星期一,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.

>  - Solaris
>  - cygwin
> 
> Regards,
> Xavier Claessens.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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-l...@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-devel-list
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

RE: GitLab CI runners for non-Linux systems

2018-05-25 Thread 范,君維 via desktop-devel-list
Hi,

It seems that valgrind.h was updated from Valgrind upstream, which means that 
the original patch I had for it need to be reinstated as x64 MSVC does not 
allow inline assembly code, which I pushed last night, so the code should now 
build on x64 MSVC.

Note that 32-bit builds do work without changes need.

With blessings, and cheers!

Hope this helps.

從 Windows 10 手機傳送

寄件者: xclae...@gmail.com
傳送時間: 2018年5月25日 18:25
收件者: Christoph Reiter
副本: gtk-devel-list; desktop-devel-list
主旨: Re: GitLab CI runners for non-Linux systems

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

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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-list@gnome.org
> > https://mail.gnome.org/mailman/listinfo/desktop-devel-list
> 
> ___
> desktop-devel-list mailing list
> desktop-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list

signature.asc
Description: This is a digitally signed message part
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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)); \
 ^

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

Re: GitLab CI runners for non-Linux systems

2018-05-19 Thread Jonathan Matthew
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.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list

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

Re: GitLab CI runners for non-Linux systems

2018-05-18 Thread Arun Raghavan
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.

Cheers,
Arun
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-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
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

GitLab CI runners for non-Linux systems

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

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