ci: use github actions

This commit is contained in:
Kirill Chibisov 2023-10-10 20:15:14 +04:00 committed by GitHub
parent 78e4465d79
commit e2ffc4f183
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 91 additions and 78 deletions

45
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,45 @@
name: CI
on:
pull_request:
push:
branches: [main]
env:
RUST_BACKTRACE: 1
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-Cdebuginfo=0 --deny=warnings"
RUSTDOCFLAGS: "--deny=warnings"
jobs:
fmt:
name: Check Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: hecrj/setup-rust-action@v1
with:
rust-version: nightly
components: rustfmt
- name: Check Formatting
run: cargo +nightly fmt --all -- --check
tests:
name: Tests
runs-on: ubuntu-latest
strategy:
matrix:
rust_version: ["1.65", stable, nightly]
steps:
- uses: actions/checkout@v3
- uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust_version }}
- name: Check documentation
run: cargo doc --no-deps --document-private-items
- name: Run tests
run: cargo test --verbose

45
.github/workflows/docs.yml vendored Normal file
View file

@ -0,0 +1,45 @@
name: Deploy Docs to GitHub Pages
on:
push:
branches:
- master
jobs:
doc:
name: Documentation on Github Pages
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Cargo cache
uses: actions/cache@v1
with:
path: ~/.cargo
key: cargo-stable
- name: Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install system dependencies
run: sudo apt-get install libxkbcommon-dev libwayland-dev
- name: Build Documentation
uses: actions-rs/cargo@v1
with:
command: doc
args: --no-deps
- name: Setup index
run: cp ./doc_index.html ./target/doc/index.html
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./target/doc

View file

@ -1,78 +0,0 @@
language: rust
# only cache cargo subcommand binaries and wayland libs .so
# the build artifacts take a lot of space and are slower to
# cache than to actually rebuild anyway...
# We need to cache the whole .cargo directory to keep the
# .crates.toml file.
cache:
directories:
- /home/travis/.cargo
# But don't cache the cargo registry
before_cache:
- rm -rf /home/travis/.cargo/registry
dist: trusty
sudo: required
rust:
- stable
- beta
- nightly
matrix:
allow_failures:
- rust: nightly
include:
- rust: stable
env: BUILD_FMT=1
- rust: stable
env: BUILD_DOC=1
branches:
only:
- master
before_script:
- cargo fetch
- |
if [ -n "$BUILD_FMT" ]; then
rustup component add rustfmt-preview
elif [ -n "$BUILD_DOC" ]; then
echo "Building doc, nothing to install..."
fi
os:
- linux
script:
- |
if [ -n "$BUILD_FMT" ]; then
cargo fmt -- --check
elif [ -n "$BUILD_DOC" ]; then
cargo doc --no-deps --all-features
else
cargo check
fi
after_success:
- |
if [ -n "$BUILD_DOC" ]; then
cp ./doc_index.html ./target/doc/index.html
fi
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
local_dir: "target/doc"
on:
branch: master
rust: stable
condition: $BUILD_DOC = 1
notifications:
webhooks:
urls:
- "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MGxldmFucyUzQXNhZmFyYWRlZy5uZXQvJTIxRkt4aGprSUNwakJWelZlQ2RGJTNBc2FmYXJhZGVnLm5ldA"
on_success: change
on_failure: always
on_start: never

View file

@ -8,6 +8,7 @@ repository = "https://github.com/smithay/smithay-clipboard"
documentation = "https://smithay.github.io/smithay-clipboard"
license = "MIT"
keywords = ["clipboard", "wayland"]
rust-version = "1.65.0"
[dependencies]
sctk = { package = "smithay-client-toolkit", version = "0.16", default-features = false }