minio 0.4.0

MinIO SDK for Amazon S3 compatible object storage access
Documentation
name: MinIO Rust Library

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

env:
  RUST_LOG: debug
  CARGO_TERM_COLOR: always

jobs:
  check-format:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Check format
      run: |
        cargo fmt --all -- --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: clippy
        run: cargo clippy --all-targets --all-features --workspace -- -D warnings
  test-multi-thread:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run tests
        run: |
          ./tests/start-server.sh
          export SERVER_ENDPOINT=localhost:9000
          export ACCESS_KEY=minioadmin
          export SECRET_KEY=minioadmin
          export ENABLE_HTTPS=1
          export SERVER_REGION=us-east-1
          export MINIO_SSL_CERT_FILE=./tests/public.crt
          MINIO_TEST_TOKIO_RUNTIME_FLAVOR="multi_thread" cargo test -- --nocapture
  test-current-thread:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run tests
        run: |
          ./tests/start-server.sh
          export SERVER_ENDPOINT=localhost:9000
          export ACCESS_KEY=minioadmin
          export SECRET_KEY=minioadmin
          export ENABLE_HTTPS=1
          export SERVER_REGION=us-east-1
          export MINIO_SSL_CERT_FILE=./tests/public.crt
          MINIO_TEST_TOKIO_RUNTIME_FLAVOR="current_thread" cargo test -- --nocapture

  build:
    runs-on: ubuntu-latest
    timeout-minutes: 5
    steps:
    - uses: actions/checkout@v4
    - name: Build
      run: |
        cargo --version
        cargo build --bins --examples --tests --benches --verbose