jhfjhfj1/autokeras

View on GitHub
.github/workflows/actions.yml

Summary

Maintainability
Test Coverage
name: Tests

on:
  push:
    branches: [ master ]
  pull_request:
  release:
    types: [created]
jobs:
  build:
    name: Run tests
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Set up Python 3.10
      uses: actions/setup-python@v4
      with:
        python-version: '3.10'
    - name: Get pip cache dir
      id: pip-cache
      run: |
        python -m pip install --upgrade pip setuptools
        echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
    - name: pip cache
      uses: actions/cache@v3
      with:
        path: ${{ steps.pip-cache.outputs.dir }}
        key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
    - name: Install dependencies
      run: |
        pip install tensorflow
        pip install -e ".[tests]" --progress-bar off
    - name: Test with pytest
      run: |
        pytest --cov=autokeras --cov-report xml:coverage.xml
    - name: Codecov
      uses: codecov/codecov-action@v3
  format:
    name: Check the code format
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run pre-commit
        run: bash shell/pre-commit.sh
  build-docs:
    name: Build the docs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python 3.10
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip setuptools
          pip install tensorflow
          pip install -e .
          pip install -r docs/requirements.txt
      - name: Build the docs
        run: |
          cd docs
          python autogen.py
          mkdocs build
  deploy:
    needs: [build, format, build-docs]
    if: github.event_name == 'release' && github.event.action == 'created'
    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: |
        python -m pip install --upgrade pip setuptools wheel twine
    - name: Build and publish
      env:
        TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
        TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
      run: |
        python setup.py sdist bdist_wheel
        twine upload dist/*