diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..947ccbb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,67 @@ +name: CI + +on: + pull_request: + paths-ignore: + - "*.md" + - "./site/**/*" + push: + branches: [ main ] + paths-ignore: + - "*.md" + - "./site/**/*" + +env: + CARGO_TERM_COLOR: always + +permissions: + contents: read + +jobs: + build: + name: Build (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - name: Install Linux dependencies + if: runner.os == 'Linux' + run: sudo apt update && sudo apt install -y libdbus-1-dev libsmbclient-dev + - name: Install macOS dependencies + if: runner.os == 'macOS' + run: | + brew update + brew install \ + pkg-config \ + samba + brew link --force samba + - name: Install nightly toolchain + if: runner.os == 'Linux' + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable + with: + toolchain: nightly + components: rustfmt + - name: Format + if: runner.os == 'Linux' + run: cargo +nightly fmt --all -- --check + - name: Install stable toolchain + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable + with: + toolchain: stable + components: clippy + - name: Build + if: runner.os != 'Linux' + run: cargo build + - name: Run tests (Linux) + if: runner.os == 'Linux' + run: cargo test --no-default-features --features github-actions --no-fail-fast + - name: Run tests + if: runner.os != 'Linux' + run: cargo test --verbose --features github-actions + - name: Clippy + run: cargo clippy -- -Dwarnings diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml deleted file mode 100644 index 5a58651..0000000 --- a/.github/workflows/linux.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Linux - -on: - pull_request: - paths-ignore: - - "*.md" - - "./site/**/*" - push: - branches: [ main ] - paths-ignore: - - "*.md" - - "./site/**/*" - -env: - CARGO_TERM_COLOR: always - -permissions: - contents: read - -jobs: - build-linux: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - name: Install dependencies - run: sudo apt update && sudo apt install -y libdbus-1-dev libsmbclient-dev - - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - with: - toolchain: nightly - components: rustfmt, clippy - - name: Format - run: cargo +nightly fmt --all -- --check - - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - with: - toolchain: stable - components: rustfmt, clippy - - name: Run tests - run: cargo test --no-default-features --features github-actions --no-fail-fast - - name: Clippy - run: cargo clippy -- -Dwarnings diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml deleted file mode 100644 index 7cf6c73..0000000 --- a/.github/workflows/macos.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: MacOS - -on: - pull_request: - paths-ignore: - - "*.md" - - "./site/**/*" - push: - branches: [ main ] - paths-ignore: - - "*.md" - - "./site/**/*" - -env: - CARGO_TERM_COLOR: always - -permissions: - contents: read - -jobs: - build-macos: - runs-on: macos-latest - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - with: - toolchain: stable - components: rustfmt, clippy - - name: Install dependencies - run: | - brew update - brew install \ - pkg-config \ - samba - brew link --force samba - - name: Build - run: cargo build - - name: Run tests - run: cargo test --verbose --features github-actions - - name: Clippy - run: cargo clippy -- -Dwarnings diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index 4e20bf6..0000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Windows - -on: - pull_request: - paths-ignore: - - "*.md" - - "./site/**/*" - push: - branches: [ main ] - paths-ignore: - - "*.md" - - "./site/**/*" - -env: - CARGO_TERM_COLOR: always - -permissions: - contents: read - -jobs: - build-windows: - runs-on: windows-latest - - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - with: - toolchain: stable - components: rustfmt, clippy - - name: Build - run: cargo build - - name: Run tests - run: cargo test --verbose --features github-actions - - name: Clippy - run: cargo clippy -- -Dwarnings diff --git a/README.md b/README.md index c92a25b..ca1adee 100644 --- a/README.md +++ b/README.md @@ -26,45 +26,11 @@

Developed by @veeso

Current version: 1.0.0 2026-04-18

-

- License-MIT - Repo stars - Downloads counter - Latest version -

-

- Linux CI - MacOS CI - Windows CI -

+[![License-MIT](https://img.shields.io/crates/l/termscp.svg?logo=rust)](https://opensource.org/licenses/MIT) +[![Repostars](https://img.shields.io/github/stars/veeso/termscp?style=flat&logo=github)](https://github.com/veeso/termscp/stargazers) +[![Downloadscounter](https://img.shields.io/crates/d/termscp.svg?logo=rust)](https://crates.io/crates/termscp) +[![Latest version](https://img.shields.io/crates/v/termscp.svg?logo=rust)](https://crates.io/crates/termscp) +[![CI](https://github.com/veeso/termscp/workflows/CI/badge.svg?logo=github)](https://github.com/veeso/termscp/actions/workflows/ci.yml) --- diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md index 83eafe7..e7a8f63 100644 --- a/docs/zh-CN/README.md +++ b/docs/zh-CN/README.md @@ -26,50 +26,11 @@

@veeso 开发

当前版本: 1.0.0 2026-04-18

-

- License-MIT - Repo stars - Downloads counter - Latest version - - Ko-fi -

-

- Linux CI - MacOS CI - Windows CI -

+[![License-MIT](https://img.shields.io/crates/l/termscp.svg?logo=rust)](https://opensource.org/licenses/MIT) +[![Repostars](https://img.shields.io/github/stars/veeso/termscp?style=flat&logo=github)](https://github.com/veeso/termscp/stargazers) +[![Downloadscounter](https://img.shields.io/crates/d/termscp.svg?logo=rust)](https://crates.io/crates/termscp) +[![Latest version](https://img.shields.io/crates/v/termscp.svg?logo=rust)](https://crates.io/crates/termscp) +[![CI](https://github.com/veeso/termscp/workflows/CI/badge.svg?logo=github)](https://github.com/veeso/termscp/actions/workflows/ci.yml) ---