diff --git a/.appveyor.yml b/.appveyor.yml index cefed267617..55eb4494e2f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -8,7 +8,7 @@ branches: - appveyor - /devel.*/ - /.*-avy/ - - /.*-ci/ + - /ci-.*/ environment: PYTHONWARNINGS: ignore::DeprecationWarning @@ -20,10 +20,6 @@ environment: EXTRA_ARGS: -m llvm - PYTHON: Python37 EXTRA_ARGS: -m llvm - - PYTHON: Python36 - ARCH: -x64 - - PYTHON: Python37 - ARCH: -x64 install: - if not exist %GRAPHVIZ_INSTALLER% appveyor-retry curl https://graphviz.gitlab.io/_pages/Download/windows/%GRAPHVIZ_INSTALLER% -o %GRAPHVIZ_INSTALLER% @@ -32,7 +28,9 @@ install: - pip install --user -U pip - pip --version # certifi upgrade is needed by pytest-profiling (it does not set the dependencies right) - - pip install --user -U certifi + # Restrict pywin32 to <226 to work around appveyor issue: + # https://help.appveyor.com/discussions/problems/25404-pywin32226-the-specified-module-could-not-be-found + - pip install --user -U certifi "pywin32<226" - pip install --user git+https://github.com/benureau/leabra.git@master # pytorch does not distribute windows packages over pypi. Install it directly. diff --git a/.github/workflows/pnl-ci.yml b/.github/workflows/pnl-ci.yml new file mode 100644 index 00000000000..ce4712561df --- /dev/null +++ b/.github/workflows/pnl-ci.yml @@ -0,0 +1,61 @@ +name: PsyNeuLink CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + max-parallel: 7 + matrix: + python-version: [3.6, 3.7, 3.8] + os: [ubuntu-latest, macos-latest, windows-latest] + exclude: + - os: windows-latest + python-version: 3.8 + - os: macos-latest + python-version: 3.8 + + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: MacOS dependencies + run: HOMEBREW_NO_AUTO_UPDATE=1 brew install graphviz + if: matrix.os == 'macos-latest' + - name: Linux dependencies + run: sudo apt-get install -y graphviz + if: matrix.os == 'ubuntu-latest' + - name: Windows dependencies + run: | + choco install --no-progress -y graphviz + python -m pip install --upgrade pip + pip install torch -f https://download.pytorch.org/whl/cpu/torch_stable.html + if: matrix.os == 'windows-latest' + - name: Python3.8 dependencies setup + run: | + sed -i.tmp "/torch/d" requirements.txt + pip install cython llvmlite==0.26 + if: matrix.python-version == '3.8' + env: + LLVM_CONFIG: llvm-config-6.0 + - name: Shared dependencies + shell: bash + run: | + python -m pip install --upgrade pip + pip install -e .[dev] + pip install --user git+https://github.com/benureau/leabra.git@master + - name: Lint with flake8 + shell: bash + run: | + pip install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --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 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: pytest diff --git a/.idea/runConfigurations/Make_HTML.xml b/.idea/runConfigurations/Make_HTML.xml index 68aa0f96855..e75891c18cf 100644 --- a/.idea/runConfigurations/Make_HTML.xml +++ b/.idea/runConfigurations/Make_HTML.xml @@ -1,9 +1,9 @@ - - + +