From e2ffc4f1839874ab73ca28efe1a9f6c232aa1b85 Mon Sep 17 00:00:00 2001 From: Kirill Chibisov Date: Tue, 10 Oct 2023 20:15:14 +0400 Subject: [PATCH] ci: use github actions --- .github/workflows/ci.yml | 45 ++++++++++++++++++++++ .github/workflows/docs.yml | 45 ++++++++++++++++++++++ .travis.yml | 78 -------------------------------------- Cargo.toml | 1 + 4 files changed, 91 insertions(+), 78 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/docs.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..de22d16 --- /dev/null +++ b/.github/workflows/ci.yml @@ -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 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..5ea3836 --- /dev/null +++ b/.github/workflows/docs.yml @@ -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 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 57de05f..0000000 --- a/.travis.yml +++ /dev/null @@ -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 diff --git a/Cargo.toml b/Cargo.toml index 15e1ec1..ace0e5e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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 }