pic-protocol 0.1.4

PIC Protocol - Provenance Identity Continuity Protocol
Documentation
version: '3'

tasks:
  # Source code quality

  source:fmt:
    desc: Format the source code using rustfmt
    silent: true
    cmds:
      - cargo fmt --all

  source:tag:push:
    desc: Create and push a git tag interactively
    silent: true
    interactive: true
    cmds:
      - |
        echo ""
        echo "Enter release version (e.g., v0.0.1):"
        read VERSION
        echo "Enter tag message/description:"
        read MESSAGE
        if git rev-parse "${VERSION}" >/dev/null 2>&1; then
          echo "Tag ${VERSION} already exists. Deleting local and remote..."
          git tag -d "${VERSION}" >/dev/null 2>&1 || true
          git push --delete origin "${VERSION}" >/dev/null 2>&1 || true
        fi
        git tag -a "${VERSION}" -m "${MESSAGE}"
        git push origin "${VERSION}"
        echo "Tag ${VERSION} pushed successfully."

  # Crates
  pca-test:
    dir:  ./
    cmds:
        - cargo test --package pic-pca      
    silent: true

  pca-bench:
    dir:  ./
    cmds:
        - cargo bench --package pic-pca      
    silent: true

  pca-bench-sz:
    dir:  ./
    cmds:
        - cargo bench -p pic-pca --bench pca_serialization
    silent: true

  pca-bench-pca:
    dir:  ./
    cmds:
        - cargo bench -p pic-pca --bench pca_benchmark -- sign_ed25519
    silent: true

  pca-bench-poc:
    dir:  ./
    cmds:
        - cargo bench -p pic-pca --bench poc_benchmark -- sign_ed25519
    silent: true

  cat-test:
    dir:  ./
    cmds:
        - cargo test --package pic-cat      
    silent: true

  cat-bench:
    dir:  ./
    cmds:
        - cargo bench --package pic-cat      
    silent: true
  
  pic-test:
    dir:  ./
    cmds:
        - cargo test --workspace      
    silent: true

  pic-bench:
    dir:  ./
    cmds:
        -  cargo bench --workspace      
    silent: true