mirror of
https://github.com/realm/SwiftLint.git
synced 2026-05-07 20:12:49 +00:00
068f6037fe
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.
26 lines
584 B
Bash
Executable File
26 lines
584 B
Bash
Executable File
#!/bin/bash
|
|
|
|
mkdir -p ~/.ssh && mv $DOWNLOADSECUREFILE_SECUREFILEPATH ~/.ssh/id_rsa
|
|
chmod 700 ~/.ssh && chmod 600 ~/.ssh/id_rsa
|
|
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
|
|
|
|
source_sha="$(git rev-parse HEAD)"
|
|
user="swiftlintbot@jpsim.com"
|
|
git config --global user.email "$user"
|
|
git config --global user.name "$user"
|
|
git clone git@github.com:realm/SwiftLint.git out
|
|
|
|
cd out
|
|
git checkout gh-pages
|
|
git rm -rf .
|
|
rm -rf Carthage
|
|
cd ..
|
|
|
|
cp -a docs/. out/.
|
|
cd out
|
|
|
|
git add -A
|
|
git commit -m "Automated deployment to GitHub Pages: ${source_sha}" --allow-empty
|
|
|
|
git push origin gh-pages
|