tapsilat 2026.4.2

The Tapsilat SDK for Rust
Documentation
name: CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

env:
  CARGO_TERM_COLOR: always

jobs:
  lint:
    name: Code Quality
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v6
      
    - name: Install Rust toolchain
      uses: dtolnay/rust-toolchain@stable
      
    - name: Check formatting
      run: cargo fmt -- --check
      
    - name: Run clippy (allow warnings for development)
      run: cargo clippy --lib --all-features
      continue-on-error: true

  test:
    name: Library Tests
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust: [stable, beta]
        
    steps:
    - name: Checkout code
      uses: actions/checkout@v6
      
    - name: Install Rust toolchain
      uses: dtolnay/rust-toolchain@stable
      with:
        toolchain: ${{ matrix.rust }}
        
    - name: Cache cargo registry
      uses: actions/cache@v5
      with:
        path: |
          ~/.cargo/registry
          ~/.cargo/git
          target
        key: ${{ runner.os }}-${{ matrix.rust }}-cargo-${{ hashFiles('**/Cargo.lock') }}
        restore-keys: |
          ${{ runner.os }}-${{ matrix.rust }}-cargo-
          
    - name: Check library compilation
      run: cargo check --lib --all-features
      continue-on-error: true
      
    - name: Run library tests
      run: cargo test --lib --all-features
      continue-on-error: true

  examples:
    name: Example Compilation
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v6
      
    - name: Install Rust toolchain
      uses: dtolnay/rust-toolchain@stable
      
    - name: Test examples compile
      run: |
        echo "Checking examples compilation..."
        cargo check --example basic_usage || echo "❌ basic_usage failed to compile"
        cargo check --example advanced_usage || echo "❌ advanced_usage failed to compile" 
        cargo check --example sdk_demo || echo "❌ sdk_demo failed to compile"
        echo "Example check completed (failures expected during development)"
      continue-on-error: true

  docs:
    name: Documentation
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v6
      
    - name: Install Rust toolchain
      uses: dtolnay/rust-toolchain@stable
      
    - name: Build documentation
      run: cargo doc --lib --no-deps --all-features --document-private-items
      continue-on-error: true

  security:
    name: Security Audit
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - name: Security audit
      uses: rustsec/audit-check@v2.0.0
      with:
        token: ${{ secrets.GITHUB_TOKEN }}