diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..0085ab9e --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,54 @@ +name: Run Tests + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + formatting: + name: Check Formatting + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: 3.8 + - name: Install Formatting + run: | + python -m pip install --upgrade pip + pip install hacking isort + - name: Check Formatting + run: | + flake8 . + grep -rlIP '[^\x00-\x7F]' rcb4 | grep '\.pyx\?' | sort > unicode.out; grep -rlI '# -\*- coding: \(utf-8\|latin-1\) -\*-' rcb4 | grep '\.pyx\?' | sort > coding.out; comm -23 unicode.out coding.out > test_code.out; cat test_code.out; test \! -s test_code.out + - name: Check isort + run: | + isort -c . + + tests: + name: Run Unit Tests + runs-on: ${{ matrix.os }} + strategy: + matrix: + python-version: [3.6.15, 3.8.16, 3.10.10] + os: [self-hosted] + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Pytest + run: | + python -m pip install --upgrade pip setuptools wheel + pip install pytest hacking + - name: Install python package + run: pip install . + - name: Run Pytest + run: pytest -v tests