configcat 0.1.5

ConfigCat Rust SDK
Documentation
name: Rust SDK CI
on:
  schedule:
    - cron: '0 0 * * *'
  push:
    branches: [ main ]
    paths-ignore:
      - '**.md'
  pull_request:
    branches: [ main ]
    paths-ignore:
      - '**.md'

  workflow_dispatch:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Set up Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
      - name: Run tests
        run: cargo test

  format:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Set up Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: rustfmt
      - name: Check format
        run: cargo fmt --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Set up Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: clippy
      - name: Run Clippy
        run: cargo clippy

  publish-dry-run:
    needs: [test, format, clippy]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Set up Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
      - name: Publish dry-run
        run: cargo publish --dry-run