Github integration with AppVeyor

php.internals

Anatol Belski

9 years ago
Hi, There's yet another CI service there called AppVeyor.com. It provides same functionality Travis does, but for Windows. A corresponding PR https://github.com/php/php-src/pull/2169 aims to implement the integration. I'm writing to inform the community and to discuss. The service is free for OSS, so for the principle, nothing stands in the way for the integration. The goal of this integration is to reach more quality, not only for the main repository, but primarily for the GitHub PRs. While for the main repository, the snaps service runs instantly, it's not integrated with the PRs. Also the tests for the main repo are run and posted to the QA page. Still, for GitHub PRs, there is no such service. That means some bugs might ramble into the main repo, but could be caught earlier otherwise. Now, why AppVeyor? I was aware of it, but learned it can be used for free just when it was asked on GitHub. The integration with AppVeyor is much easier, than it would be to write a completely new interface for the existing snaps service. It is likely, that the tests can only be done to a smaller extent due to the free account limitations, nevertheless it'll provide a good opportunity to PR authors/mergers to check a patch compiles and passes some basic test on Windows as well. The more extensive tests based on the snaps service, which are to see on qa.php.net, will still continue to be done for the main repo. So the AppVeyor integration is like a quick and easy way to ensure more quality without big effort. The registration process is described here https://www.appveyor.com/docs/team-setup/#github-integration and requires the usual thing in approving AppVeyor to access the relevant PHP org repositories on GitHub (php-src only for now, for what were to care). It seems, that I've sufficient perms to do the registration myself. If someone would be willing to undertake this part, so it's fine. Please drop a line, in case there are some concerns. IMHO, it makes sense to continue the development on this topic, so the AppVeyor integration is available within next couple of months. It'd be first available for master only, and likely to be backported into some lower branches later. Regards Anatol

Derick Rethans

9 years ago
On Wed, 26 Oct 2016, Anatol Belski wrote:
> Hi, > > There's yet another CI service there called AppVeyor.com. It provides same > functionality Travis does, but for Windows. A corresponding PR > https://github.com/php/php-src/pull/2169 aims to implement the integration. > I'm writing to inform the community and to discuss. The service is free for > OSS, so for the principle, nothing stands in the way for the integration.
If you can make this work for random extensions (i.e.: Xdebug), then, that would be awesome! Although, it seem to have picked up on my "debugclient" project :-) : https://ci.appveyor.com/project/derickr/xdebug/build/1.0.1 cheers, Derick
-- https://derickrethans.nl | https://xdebug.org | https://dram.io Like Xdebug? Consider a donation: https://xdebug.org/donate.php twitter: @derickr and @xdebug

Anatol Belski

9 years ago
Derick, Joe,
> -----Original Message----- > From: Derick Rethans [mailto:derick@php.net] > Sent: Thursday, October 27, 2016 10:52 AM > To: Anatol Belski <anatol.php@belski.net> > Cc: 'PHP internals list' <internals@lists.php.net> > Subject: Re: [PHP-DEV] Github integration with AppVeyor > > On Wed, 26 Oct 2016, Anatol Belski wrote: > > > Hi, > > > > There's yet another CI service there called AppVeyor.com. It provides > > same functionality Travis does, but for Windows. A corresponding PR > > https://github.com/php/php-src/pull/2169 aims to implement the
integration.
> > I'm writing to inform the community and to discuss. The service is > > free for OSS, so for the principle, nothing stands in the way for the
integration.
> > If you can make this work for random extensions (i.e.: Xdebug), then, that
would
> be awesome! Although, it seem to have picked up on my "debugclient"
project :-
> ) : > https://ci.appveyor.com/project/derickr/xdebug/build/1.0.1 >
As discussed on IRC, integrating with non-core extensions is rather something else. It might be in many cases useful to use the phpize way of building extensions. The usage of custom images is not available ATM. So for PECL and others, it might involve a bit more work, and depending on the exact extension also some additional setup (fe. database). I can help anyone interested to create/optimize the setup, once the core core integration is finished. Regards Anatol

Anatol Belski

9 years ago
Hi,
> -----Original Message----- > From: Anatol Belski [mailto:anatol.php@belski.net] > Sent: Wednesday, October 26, 2016 9:16 PM > To: 'PHP internals list' <internals@lists.php.net> > Subject: [PHP-DEV] Github integration with AppVeyor > > Hi, > > There's yet another CI service there called AppVeyor.com. It provides same > functionality Travis does, but for Windows. A corresponding PR > https://github.com/php/php-src/pull/2169 aims to implement the
integration.
> I'm writing to inform the community and to discuss. The service is free
for OSS,
> so for the principle, nothing stands in the way for the integration. > > The goal of this integration is to reach more quality, not only for the
main
> repository, but primarily for the GitHub PRs. While for the main
repository, the
> snaps service runs instantly, it's not integrated with the PRs. Also the
tests for
> the main repo are run and posted to the QA page. Still, for GitHub PRs,
there is
> no such service. That means some bugs might ramble into the main repo, but > could be caught earlier otherwise. > > Now, why AppVeyor? I was aware of it, but learned it can be used for free
just
> when it was asked on GitHub. The integration with AppVeyor is much easier, > than it would be to write a completely new interface for the existing
snaps
> service. It is likely, that the tests can only be done to a smaller extent
due to the
> free account limitations, nevertheless it'll provide a good opportunity to
PR
> authors/mergers to check a patch compiles and passes some basic test on > Windows as well. The more extensive tests based on the snaps service,
which
> are to see on qa.php.net, will still continue to be done for the main
repo. So the
> AppVeyor integration is like a quick and easy way to ensure more quality
without
> big effort. > > The registration process is described here > https://www.appveyor.com/docs/team-setup/#github-integration and requires > the usual thing in approving AppVeyor to access the relevant PHP org > repositories on GitHub (php-src only for now, for what were to care). It
seems,
> that I've sufficient perms to do the registration myself. If someone would
be
> willing to undertake this part, so it's fine. > > Please drop a line, in case there are some concerns. IMHO, it makes sense
to
> continue the development on this topic, so the AppVeyor integration is
available
> within next couple of months. It'd be first available for master only, and
likely to
> be backported into some lower branches later. >
The Appveyor integration was almost prepared. I took over the original PR, the integration scripts can be found under https://github.com/php/php-src/pull/2229 . Most of the extensions are covered, currently 13127 tests pass. I also fixed some dozen of test bugs. Still there are some failing tests and some for sure are real bugs. Of course, it would be nice, to have the test runs green by the time the integration stuff is merged. However, the amount of the failing tests is really small now, and there's a good chance the corresponding bugs or fails are crossplatform. While I'm still investigating on some, the state is already suitable for master. For master, it is not critical, while there will be more brains looking at the test fails. If there are no objections, I'd therefore aim next week to finish the integration with Appveyor for PHP by merging the PR into master and approving Appveyor for the PHP Github organization, while subsequently continuing the further bugfixing work. Regards Anatol

Anatol Belski

9 years ago
Hi,
> -----Original Message----- > From: Anatol Belski [mailto:anatol.php@belski.net] > Sent: Friday, December 9, 2016 6:16 PM > To: 'PHP internals list' <internals@lists.php.net> > Subject: RE: [PHP-DEV] Github integration with AppVeyor > > Hi, > > > -----Original Message----- > > From: Anatol Belski [mailto:anatol.php@belski.net] > > Sent: Wednesday, October 26, 2016 9:16 PM > > To: 'PHP internals list' <internals@lists.php.net> > > Subject: [PHP-DEV] Github integration with AppVeyor > > > > Hi, > > > > There's yet another CI service there called AppVeyor.com. It provides > > same functionality Travis does, but for Windows. A corresponding PR > > https://github.com/php/php-src/pull/2169 aims to implement the > integration. > > I'm writing to inform the community and to discuss. The service is > > free > for OSS, > > so for the principle, nothing stands in the way for the integration. > > > > The goal of this integration is to reach more quality, not only for > > the > main > > repository, but primarily for the GitHub PRs. While for the main > repository, the > > snaps service runs instantly, it's not integrated with the PRs. Also > > the > tests for > > the main repo are run and posted to the QA page. Still, for GitHub > > PRs, > there is > > no such service. That means some bugs might ramble into the main repo, > > but could be caught earlier otherwise. > > > > Now, why AppVeyor? I was aware of it, but learned it can be used for > > free > just > > when it was asked on GitHub. The integration with AppVeyor is much > > easier, than it would be to write a completely new interface for the > > existing > snaps > > service. It is likely, that the tests can only be done to a smaller > > extent > due to the > > free account limitations, nevertheless it'll provide a good > > opportunity to > PR > > authors/mergers to check a patch compiles and passes some basic test > > on Windows as well. The more extensive tests based on the snaps > > service, > which > > are to see on qa.php.net, will still continue to be done for the main > repo. So the > > AppVeyor integration is like a quick and easy way to ensure more > > quality > without > > big effort. > > > > The registration process is described here > > https://www.appveyor.com/docs/team-setup/#github-integration and > > requires the usual thing in approving AppVeyor to access the relevant > > PHP org repositories on GitHub (php-src only for now, for what were to > > care). It > seems, > > that I've sufficient perms to do the registration myself. If someone > > would > be > > willing to undertake this part, so it's fine. > > > > Please drop a line, in case there are some concerns. IMHO, it makes > > sense > to > > continue the development on this topic, so the AppVeyor integration is > available > > within next couple of months. It'd be first available for master only, > > and > likely to > > be backported into some lower branches later. > > > The Appveyor integration was almost prepared. I took over the original PR,
the
> integration scripts can be found under > https://github.com/php/php-src/pull/2229 . Most of the extensions are
covered,
> currently 13127 tests pass. I also fixed some dozen of test bugs. > > Still there are some failing tests and some for sure are real bugs. Of
course, it
> would be nice, to have the test runs green by the time the integration
stuff is
> merged. However, the amount of the failing tests is really small now, and
there's
> a good chance the corresponding bugs or fails are crossplatform. While I'm
still
> investigating on some, the state is already suitable for master. For
master, it is
> not critical, while there will be more brains looking at the test fails.
If there are
> no objections, I'd therefore aim next week to finish the integration with > Appveyor for PHP by merging the PR into master and approving Appveyor for
the
> PHP Github organization, while subsequently continuing the further
bugfixing
> work. >
Already wrote to webmaster@php.net alone, linking here as well for more visibility. I've managed to finally get the green build today, so was about to merge. However, according to the documentation https://www.appveyor.com/docs/team-setup/#setting-up-appveyor-account-for-gi thub-organization an extra account has to be registered on Appveyor, and that requires a separate email address. I could register it with a separate random email address of mine, but it would be more convenient to use the webmaster@php.net as it's already the official account on Github and it'll likely require the email verification. I'm therefore asking for the registration on Appveyor with webmaster@php.net, then I'll proceed with the PR merge and further integration steps on my own. Otherwise, OFC I can register with my email and it can be switched to the official PHP mail later. Thanks Anatol

Anatol Belski

9 years ago
Hi,
> -----Original Message----- > From: Anatol Belski [mailto:anatol.php@belski.net] > Sent: Thursday, December 15, 2016 5:28 PM > To: 'PHP internals list' <internals@lists.php.net> > Cc: webmaster@php.net > Subject: RE: [PHP-DEV] Github integration with AppVeyor > > Hi, > > > -----Original Message----- > > From: Anatol Belski [mailto:anatol.php@belski.net] > > Sent: Friday, December 9, 2016 6:16 PM > > To: 'PHP internals list' <internals@lists.php.net> > > Subject: RE: [PHP-DEV] Github integration with AppVeyor > > > > Hi, > > > > > -----Original Message----- > > > From: Anatol Belski [mailto:anatol.php@belski.net] > > > Sent: Wednesday, October 26, 2016 9:16 PM > > > To: 'PHP internals list' <internals@lists.php.net> > > > Subject: [PHP-DEV] Github integration with AppVeyor > > > > > > Hi, > > > > > > There's yet another CI service there called AppVeyor.com. It > > > provides same functionality Travis does, but for Windows. A > > > corresponding PR > > > https://github.com/php/php-src/pull/2169 aims to implement the > > integration. > > > I'm writing to inform the community and to discuss. The service is > > > free > > for OSS, > > > so for the principle, nothing stands in the way for the integration. > > > > > > The goal of this integration is to reach more quality, not only for > > > the > > main > > > repository, but primarily for the GitHub PRs. While for the main > > repository, the > > > snaps service runs instantly, it's not integrated with the PRs. Also > > > the > > tests for > > > the main repo are run and posted to the QA page. Still, for GitHub > > > PRs, > > there is > > > no such service. That means some bugs might ramble into the main > > > repo, but could be caught earlier otherwise. > > > > > > Now, why AppVeyor? I was aware of it, but learned it can be used for > > > free > > just > > > when it was asked on GitHub. The integration with AppVeyor is much > > > easier, than it would be to write a completely new interface for the > > > existing > > snaps > > > service. It is likely, that the tests can only be done to a smaller > > > extent > > due to the > > > free account limitations, nevertheless it'll provide a good > > > opportunity to > > PR > > > authors/mergers to check a patch compiles and passes some basic test > > > on Windows as well. The more extensive tests based on the snaps > > > service, > > which > > > are to see on qa.php.net, will still continue to be done for the > > > main > > repo. So the > > > AppVeyor integration is like a quick and easy way to ensure more > > > quality > > without > > > big effort. > > > > > > The registration process is described here > > > https://www.appveyor.com/docs/team-setup/#github-integration and > > > requires the usual thing in approving AppVeyor to access the > > > relevant PHP org repositories on GitHub (php-src only for now, for > > > what were to care). It > > seems, > > > that I've sufficient perms to do the registration myself. If someone > > > would > > be > > > willing to undertake this part, so it's fine. > > > > > > Please drop a line, in case there are some concerns. IMHO, it makes > > > sense > > to > > > continue the development on this topic, so the AppVeyor integration > > > is > > available > > > within next couple of months. It'd be first available for master > > > only, and > > likely to > > > be backported into some lower branches later. > > > > > The Appveyor integration was almost prepared. I took over the original > > PR, > the > > integration scripts can be found under > > https://github.com/php/php-src/pull/2229 . Most of the extensions are > covered, > > currently 13127 tests pass. I also fixed some dozen of test bugs. > > > > Still there are some failing tests and some for sure are real bugs. > > Of > course, it > > would be nice, to have the test runs green by the time the integration > stuff is > > merged. However, the amount of the failing tests is really small now, > > and > there's > > a good chance the corresponding bugs or fails are crossplatform. While > > I'm > still > > investigating on some, the state is already suitable for master. For > master, it is > > not critical, while there will be more brains looking at the test fails. > If there are > > no objections, I'd therefore aim next week to finish the integration > > with Appveyor for PHP by merging the PR into master and approving > > Appveyor for > the > > PHP Github organization, while subsequently continuing the further > bugfixing > > work. > > > Already wrote to webmaster@php.net alone, linking here as well for more > visibility. > > I've managed to finally get the green build today, so was about to merge. > However, according to the documentation > > https://www.appveyor.com/docs/team-setup/#setting-up-appveyor-account- > for-gi > thub-organization > > an extra account has to be registered on Appveyor, and that requires a
separate
> email address. I could register it with a separate random email address of
mine,
> but it would be more convenient to use the webmaster@php.net as it's
already
> the official account on Github and it'll likely require the email
verification. I'm
> therefore asking for the registration on Appveyor with webmaster@php.net, > then I'll proceed with the PR merge and further integration steps on my
own.
> Otherwise, OFC I can register with my email and it can be switched to the
official
> PHP mail later. >
An update on this - I've created a setup using my mailing list email. The PHP organization team is added as Administrators on AppVeyor. The account email probably doesn't matter much, but still it should be please changed to the official one, as soon as someone has time. Regards Anatol