diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 00000000..b5284a2e --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,69 @@ +name: pymake continuous integration + +on: + push: + branches: [master] + pull_request: + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: [3.6, 3.7, 3.8] + os: [ubuntu-latest, macos-latest, windows-latest] + + steps: + - uses: actions/checkout@v1 + - name: Setup Graphviz + uses: ts-graphviz/setup-graphviz@v1 + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install and print system dependencies (Linux) + if: runner.os == 'Linux' + run: | + sudo ln -fs /usr/bin/gfortran-9 /usr/local/bin/gfortran + gfortran --version + - name: Install and print system dependencies (macOS) + if: runner.os == 'macOS' + run: | + gfortran --version + - name: Install and print system dependencies (Windows) + if: runner.os == 'Windows' + run: | + gfortran --version + - name: Install python packages + run: | + pip install . + pip install --upgrade pip + pip install -r ./requirements.travis.txt + pip install --no-binary rasterio rasterio + pip install --upgrade numpy + pip install shapely[vectorize] + pip install https://github.com/modflowpy/flopy/zipball/develop + pip install requests nose-timer + - name: Test with nosetests + run: | + nosetests -v --with-id --with-timer -w ./autotest + + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.8 + uses: actions/setup-python@v1 + with: + python-version: 3.8 + - name: Install packages + run: | + pip install flake8 + pip install black + - name: Run flake8 + run: flake8 + - name: Run black + run: black --check diff --git a/setup.py b/setup.py index c0fc9140..60cffa45 100755 --- a/setup.py +++ b/setup.py @@ -20,4 +20,5 @@ platforms='Windows, Mac OS-X, Linux', install_requires=[], # ['pydotplus>=2.0'], packages=['pymake'], + include_package_data=True, version=__version__)