From 22242f8f5c9bc0d6b8a33538a94e54238424ddae Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sun, 15 Mar 2026 19:55:15 +0100 Subject: [PATCH] ci: add GitHub Actions CI and release workflows --- .github/workflows/ci.yml | 39 +++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 21 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..34bbb2a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,39 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - name: Install system deps + run: sudo apt-get install -y libwayland-dev libxkbcommon-dev pkg-config + - run: cargo test --workspace + + clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: clippy + - uses: Swatinem/rust-cache@v2 + - name: Install system deps + run: sudo apt-get install -y libwayland-dev libxkbcommon-dev pkg-config + - run: cargo clippy --workspace -- -D warnings + + fmt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt + - run: cargo fmt --check diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2fe81f8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,21 @@ +name: Release + +on: + push: + tags: + - 'v*' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - name: Install system deps + run: sudo apt-get install -y libwayland-dev libxkbcommon-dev pkg-config + - run: cargo build --release + - uses: actions/upload-artifact@v4 + with: + name: k-launcher + path: target/release/k-launcher