Appveyor for the LLVM Github Org

Hi All,

Appveyor is a CI product for Windows. It’s free for open source projects on Github.
Libc++ has been using it via the llvm-mirror organization on Github [1].

Should we set Appveyor up for the official LLVM Github organization?

The motivation for testing libc++ on Windows using Appveyor over Buildbot is that Appveyor allows for a faster development cycle. CI configuration changes are frequent at this stage of libc++ Windows support. With buildbot these changes take a week to propagate.

/Eric

[1] https://ci.appveyor.com/project/llvm-mirror/libcxx

Hi All,

Appveyor is a CI product for Windows. It's free for open source projects on Github.
Libc++ has been using it via the llvm-mirror organization on Github [1].

Should we set Appveyor up for the official LLVM Github organization?

The motivation for testing libc++ on Windows using Appveyor over Buildbot is that
Appveyor allows for a faster development cycle. CI configuration changes are
frequent at this stage of libc++ Windows support.
With buildbot these changes take a week to propagate.

How would that work for LLVM?
libc++ / libcxx are rather small projects so Appveyor works well for them.
But LLVM as a whole is *huge*.
It takes ~50 minutes (1 hour let's say) to build it for me with 8 cores.
Appveyor builds are 2-4 cores, and severely ram-limited.
So it would take 4..2 hours at best to build, and then there's tests.
It doesn't sound all that promising?

(also, only a single build at a time)

/Eric

Roman.

Hi All,

Appveyor is a CI product for Windows. It's free for open source projects on Github.
Libc++ has been using it via the llvm-mirror organization on Github [1].

Should we set Appveyor up for the official LLVM Github organization?

What exactly do you want to do? Are you just looking to add a post-commit
hook to trigger Appveyor builds?

-Tom

Hi All,

Appveyor is a CI product for Windows. It’s free for open source projects on Github.
Libc++ has been using it via the llvm-mirror organization on Github [1].

Should we set Appveyor up for the official LLVM Github organization?

The motivation for testing libc++ on Windows using Appveyor over Buildbot is that
Appveyor allows for a faster development cycle. CI configuration changes are
frequent at this stage of libc++ Windows support.
With buildbot these changes take a week to propagate.

How would that work for LLVM?
libc++ / libcxx are rather small projects so Appveyor works well for them.
But LLVM as a whole is huge.
It takes ~50 minutes (1 hour let’s say) to build it for me with 8 cores.
Appveyor builds are 2-4 cores, and severely ram-limited.
So it would take 4…2 hours at best to build, and then there’s tests.
It doesn’t sound all that promising?

(also, only a single build at a time)

Appveyor may not be suitable for all cases. It may be too slow to use for full LLVM builds.
Setting it up for the monorepo may be infeasible.

I raised the question in hopes of making libc++'s “unofficial” Appveyor setup more official.

Hi All,

Appveyor is a CI product for Windows. It’s free for open source projects on Github.
Libc++ has been using it via the llvm-mirror organization on Github [1].

Should we set Appveyor up for the official LLVM Github organization?

What exactly do you want to do? Are you just looking to add a post-commit
hook to trigger Appveyor builds?

Authorizing the Appveyor Github App is one necessary step.

So it would take 4..2 hours at best to build, and then there's tests.
It doesn't sound all that promising?

+1. Free instances of Travis, for example, could only cope with one
target + target tests within time limits.

Azure Pipelines is another CI service. It supports Windows, Linux and macOS. Open source projects get 10 parallel builds (you can ask for more, not sure if that's free). The time limit of a build is 6 hours.

Note that this is the default limit. Open source projects can request more resources and I strongly suspect that this would be granted for a project like LLVM (I’m happy to make the case internally).

David