With the introduction of Azure DevOps, Microsoft has announced that their build and release pipeline, called Azure Pipelines, is free for OSS projects.
I know there was earlier talk of wanting to migrate off Jenkins to a hosted setup, and this seems like it may address the concerns brought up in that comment. Specifically:
There are obviously other solutions as well (such as Travis or Circle CI), but neither of those seem to offer the level of customization that Azure Pipelines provides 馃槃 For full disclosure, I do work at Microsoft, but not on this product; I'm just a happy user!
@cglong Can I mark this as "fixed" because we are considering it? 馃槅. Seriously, though, we're in some discussions with Microsoft about tweaking this so better suits our needs but it's looking good for some repos (including this one) as a starting test point.
Haha, that's awesome news! And sure, I mostly wanted to use this issue to raise awareness of it, so glad to hear that ball's already rolling 馃檪
@cglong If you want to follow along check out
https://github.com/Homebrew/brew/pull/4885 and
https://github.com/Homebrew/homebrew-test-bot/pull/181. I still need to adjust brew test-bot to handle all the environment variables set by Azure Pipelines but I've done that previously for Travis CI, CircleCI and Jenkins so adding another shouldn't be tough.
I can see this as-is replacing the current CI for Homebrew/brew and Homebrew/homebrew-test-bot repositories, moving on to replace the other repositories in the Homebrew organisation and finally, when we've got more of our requirements meant, replace Homebrew/homebrew-core's Jenkins CI.
@cglong
unlimited build minutes
Does this mean one job can run more than one hour or just that you can run as many jobs as you want?
Thanks
@MikeMcQuaid Nice! It looks like, from those PRs, that it fits nicely 馃槃 I'd be curious to know what the additional requirements are for homebrew-core, but understand if that's a more private discussion for the Azure DevOps people you've been working with.
@monouser7dig You'd want to ask the Azure DevOps team to be sure, but from this article, it sounds like you can run as many jobs as you want (up to 10 at a time). If you use the build machines hosted by Microsoft, the build phase can take up to 30 minutes, but if you host the build agent yourself, there's no time limit. They also sound pretty flexible about the 30 minute cap if you work with them 馃槃
I'd be curious to know what the additional requirements are for homebrew-core, but understand if that's a more private discussion for the Azure DevOps people you've been working with.
It's not too private! Basically beefy workers, longer timeouts and support for newer and older macOS versions.
longer timeouts
seems to get you up to 360minutes
(maybe this excuses my interruption 馃槂)
beefy workers, longer timeouts and support for newer and older macOS versions
@MikeMcQuaid Ah, that makes sense! You may be able to explore migrating your existing MacStadium infrastructure to self-hosted agents, but I get wanting to remove that dependency if you're moving to a cloud-based CI anyway 馃檪
@cglong Yeh, that's the fallback option.
Most helpful comment
@cglong Can I mark this as "fixed" because we are considering it? 馃槅. Seriously, though, we're in some discussions with Microsoft about tweaking this so better suits our needs but it's looking good for some repos (including this one) as a starting test point.