team-phoenix / Phoenix

A multi-system emulator and library manager designed to be both powerful and easy to use.
http://phoenix.vg
GNU General Public License v2.0
377 stars 39 forks source link

Buildbot & Build Artifact Deployment #304

Open athairus opened 8 years ago

athairus commented 8 years ago

As a developer, I need infrastructure that will automatically build any commits to this repo, unit test them across all 3 OSes, and deploy the build artifacts to some cloud storage.

Store artifacts in a private S3 bucket (for now).

athairus commented 7 years ago

A comparison of different CI providers that are free to FOSS projects by what kinds of OSes they host along with what compilers and package managers they provide:

Name Windows macOS Linux Max job concurrency Max min/job Max min/mo
Visual Studio Team Services Windows Server 2012 R2 x64, Visual Studio 2017, 2015, 2012, 2010, NuGet Ubuntu 16.04 1 Unlimited 240min/mo
AWS Codebuild Ubuntu 14.04, Amazon Linux 2016.03 Unlimited Unlimited 100min/mo
Travis CI macOS 10.12 (Xcode 8.3, 8.2, 8.1), OS X 10.11 (Xcode 8, 7.31), OS X 10.10 (Xcode 6.4), Homebrew Ubuntu 14.04, Ubuntu 12.04 1 [120min/job]() Unlimited
AppVeyor Windows Server 2016 (Visual Studio 2017), Windows Server 2012 R2 (Visual Studio 2015, 2013, 2012, 2010, 2008, LLVM 4.0.0 x64, MinGW-w64 6.3.0 x86_64, Cygwin 64, MSYS2), Nuget 1 [60min/job]() [Unlimited]()
athairus commented 7 years ago

I don't anticipate us needing job concurrency nor do I expect our builds (even with unit testing) to take over 60 minutes. With that in mind, it looks like AppVeyor is the ideal choice for Windows and Travis CI is the ideal choice for macOS and Linux.

Phoenix dependencies documented at #334