diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 0000000..b9eac0d --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,41 @@ +name: Python package + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + python-version: ["3.9"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install llvm + run: | + sudo apt-get install llvm-8 + LLVM_CONFIG=/usr/bin/llvm-config-8 pip install numba==0.45.0 llvmlite==0.32.1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 pytest + if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 numpy_ml --count --exit-zero --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 numpy_ml --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest diff --git a/requirements-dev.txt b/requirements-dev.txt index 84a6377..14e0091 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,6 @@ -numpy +numpy<1.24.0 scipy -sklearn +scikit-learn torch networkx matplotlib diff --git a/requirements-test.txt b/requirements-test.txt index 96fbca9..feb5115 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,6 +1,6 @@ -numpy +numpy<1.24.0 scipy -sklearn +scikit-learn torch networkx tensorflow diff --git a/requirements.txt b/requirements.txt index 6bad103..8d64218 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ -numpy +numpy<1.24.0 scipy