name: CI on: push: branches: [master] pull_request: branches: [master] workflow_dispatch: jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] python: [3.8] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - name: Install dependencies run: | pip install -q --upgrade pip pip install -q -r requirements.txt pip install -q --upgrade codecov coverage black flake8 codacy-coverage - name: Lint run: | black --check --diff odte flake8 --count odte - name: Tests run: | coverage run -m unittest -v odte.tests coverage xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./coverage.xml - name: Run codacy-coverage-reporter if: runner.os == 'Linux' uses: codacy/codacy-coverage-reporter-action@master with: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} coverage-reports: coverage.xml