aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
authorChristian Duerr <contact@christianduerr.com>2020-11-06 23:52:56 +0000
committerGitHub <noreply@github.com>2020-11-06 23:52:56 +0000
commit43d1afbeeb9cba0ce1281a9cf2223b5bd71664d2 (patch)
tree874e6352f8733ee61a28170bb171eb6acb6e5e19 /.github/workflows/ci.yml
parent3957a2555dbd81271d3e29a2f0b8f07258037e7b (diff)
downloadalacritty-43d1afbeeb9cba0ce1281a9cf2223b5bd71664d2.tar.gz
alacritty-43d1afbeeb9cba0ce1281a9cf2223b5bd71664d2.zip
Migrate from Travis CI to GitHub Actions
This removes all CI builds from travis-ci, due to their recent changes in policy and harsh limitations on builds. With build times over 2 hours, it was a significant hindrance to development. Instead of Travis CI, the CI is now split on Sourcehut and GitHub. Since Sourcehut only supports Linux/BSD, all builds on those operating systems are executed there. The GitHub Actions CI is used to build for Windows/macOS, which are not available on Sourcehut. Since asset deployment for releases requires builds on all platforms, this is also done on GitHub actions. Though the new `upload_asset.sh` script makes sure that migration in the future is fairly simple and we do not tie ourselves to the overly complicated GitHub Actions ecosystem.
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml38
1 files changed, 38 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..7086f1cd
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,38 @@
+name: CI
+
+on: [push, pull_request]
+
+env:
+ CARGO_TERM_COLOR: always
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ rust_version: [stable, 1.43.1]
+ os: [windows-latest, macos-latest]
+
+ runs-on: ${{ matrix.os }}
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Rustup
+ run: rustup default ${{ matrix.rust_version }}
+ - name: Test
+ run: cargo test
+
+ clippy:
+ strategy:
+ matrix:
+ os: [windows-latest, macos-latest]
+
+ runs-on: ${{ matrix.os }}
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Rustup
+ run: rustup default ${{ matrix.rust_version }}
+ - name: Install Clippy
+ run: rustup component add clippy
+ - name: Lint
+ run: cargo clippy --all-targets --manifest-path ./alacritty/Cargo.toml --no-default-features --features "x11 wayland"