![]() Yesterday I started moving SwiftLint's CI jobs from Azure Pipelines to GitHub Actions, which has nicer integrations with GitHub's web UI and feels nicer & more lightweight overall. However, GitHub Actions has a serious limitation compared to Azure Pipelines, which is that it only has 5x macOS job concurrency vs Azure's 10x ([see Twitter](https://twitter.com/simjp/status/1326592600393068546)). This leads to significant queuing when merging PRs or pushing to PRs in a short span, which is the main way I work on SwiftLint when catching up on PR/issue backlog every few months. A quick timing check showed that a PR using Azure Pipelines (#3825) took 26m 47s vs GitHub Actions (#3824) took 32m 31s. These PRs were opened at a time when no other CI jobs were running, so even though Azure Pipelines already took 6 minutes less to run than GitHub Actions, that difference would be even larger if there had been other PRs triggering CI jobs at the same time. So I think the best move for the project for the time being is to stay with Azure Pipelines for its CI. If GitHub ever increases its macOS concurrency to match Azure Pipelines's 10x we can explore this again. |
||
---|---|---|
.. | ||
Version.swift.template | ||
get-version | ||
oss-check | ||
push-docs |