cloudiful-scheduler 0.4.0

Single-job async scheduling library for background work with optional Valkey-backed state.
Documentation
name: CI

on:
  push:
    branches:
      - main
  pull_request:
  workflow_dispatch:

permissions:
  contents: read

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable

      - name: Restore Rust cache
        uses: Swatinem/rust-cache@v2

      - name: Run default tests
        run: cargo test

      - name: Run feature-gated tests
        run: cargo test --features valkey-store

      - name: Run Valkey integration tests
        env:
          SCHEDULER_VALKEY_URL: ${{ secrets.SCHEDULER_VALKEY_URL }}
        run: |
          if [ -z "$SCHEDULER_VALKEY_URL" ]; then
            echo "Skipping Valkey integration tests: missing secret SCHEDULER_VALKEY_URL"
            exit 0
          fi

          cargo test --features valkey-store --test valkey_store -- --ignored