Skip to content

Update README.md

Update README.md #12

Workflow file for this run

# name: Tests
# on:
# push:
# branches: [ main, develop ]
# pull_request:
# branches: [ main, develop ]
# jobs:
# unit-tests:
# name: Unit Tests - Python ${{ matrix.python-version }}
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# python-version: ['3.8', '3.9', '3.10']
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# - name: Cache pip packages
# uses: actions/cache@v3
# with:
# path: ~/.cache/pip
# key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
# restore-keys: |
# ${{ runner.os }}-pip-
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
# pip install -r requirements.txt
# pip install pytest pytest-cov pytest-xdist pytest-timeout
# pip install -e .
# - name: Run unit tests
# run: |
# pytest tests/test_distributed.py -v \
# --cov=src \
# --cov-report=xml \
# --cov-report=term \
# --timeout=300
# - name: Upload coverage
# uses: codecov/codecov-action@v3
# with:
# file: ./coverage.xml
# flags: unittests
# name: codecov-${{ matrix.python-version }}
# integration-tests:
# name: Integration Tests
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: '3.10'
# - name: Install dependencies
# run: |
# pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
# pip install -r requirements.txt
# pip install pytest pytest-timeout
# pip install -e .
# - name: Run integration tests
# run: |
# pytest tests/test_integration.py -v --timeout=600
# - name: Upload test artifacts
# if: failure()
# uses: actions/upload-artifact@v3
# with:
# name: integration-test-logs
# path: logs/
# performance-tests:
# name: Performance Tests
# runs-on: [self-hosted, gpu]
# if: github.event_name == 'pull_request'
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: '3.10'
# - name: Install dependencies
# run: |
# pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
# pip install -r requirements.txt
# pip install pytest pytest-benchmark
# pip install -e .
# - name: Run performance tests
# run: |
# pytest tests/test_performance.py -v -m "not slow"
# - name: Generate performance report
# run: |
# python benchmarks/run_benchmark.py \
# --gpus 1 2 \
# --strategies ddp \
# --output-dir performance-results
# - name: Upload performance results
# uses: actions/upload-artifact@v3
# with:
# name: performance-results
# path: performance-results/
# compatibility-tests:
# name: PyTorch Compatibility
# runs-on: ubuntu-latest
# strategy:
# matrix:
# pytorch-version: ['2.0.0', '2.1.0', 'latest']
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: '3.10'
# - name: Install PyTorch ${{ matrix.pytorch-version }}
# run: |
# if [ "${{ matrix.pytorch-version }}" = "latest" ]; then
# pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
# else
# pip install torch==${{ matrix.pytorch-version }} torchvision --index-url https://download.pytorch.org/whl/cpu
# fi
# - name: Install framework
# run: |
# pip install -r requirements.txt
# pip install -e .
# - name: Run compatibility tests
# run: |
# python -c "from src import DistributedTrainer; print('✓ Import successful')"
# python -c "import torch; print(f'PyTorch {torch.__version__}')"
# docker-build-test:
# name: Docker Build Test
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Build Docker image
# uses: docker/build-push-action@v4
# with:
# context: .
# push: false
# tags: distributed-training:test
# cache-from: type=gha
# cache-to: type=gha,mode=max
# - name: Test Docker image
# run: |
# docker run --rm distributed-training:test python -c "from src import DistributedTrainer; print('✓ Docker image works')"