diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 8d16cb4f..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,67 +0,0 @@ -version: 2.1 - -orbs: - python: circleci/python@0.3.2 -jobs: - test: - executor: python/default - steps: - - checkout - - python/load-cache - - python/install-deps - - python/save-cache - - run: pip install cadCAD==0.4.23 - - run: - command: python testing/tests/a_b_tests/multi_model_row_count_0_4_23.py - name: Multi Model Row Count (ver. 0.4.23) - - run: pip install -r requirements.txt --force-reinstall - - run: python setup.py bdist_wheel - - run: pip install dist/*.whl --force-reinstall - - run: - command: python testing/tests/multi_model_row_count.py - name: Multi Model Row Count - - run: - command: python testing/tests/param_sweep.py - name: Parameter sweep - - run: - command: python testing/tests/policy_aggregation.py - name: Policy Aggregation - - run: - command: python testing/tests/timestep1psub0.py - name: Timestep equals 1 instead of 0 for 1st PSUB - - run: - command: python testing/tests/runs_not_zero.py - name: Value Error thrown when Runs < 1 - - run: - command: python testing/tests/run1psub0.py - name: Run Starts at 1 for PSUB 0 - - run: - command: python testing/tests/append_mod_test.py - name: Auto Append Model ID - - run: - command: python testing/tests/cadCAD_exp.py - name: Package Root Experiment and configs object -# - run: -# command: python -m unittest discover -s testing/tests -p "*_test.py" -# name: Test Suite - jupyterServerTest: - docker: - - image: cimg/python:3.9.5 - steps: - - checkout - - python/load-cache - - run: python --version - - run: pip install --upgrade pip - - run: pip install jupyter - - python/save-cache - - run: python setup.py bdist_wheel - - run: pip install dist/*.whl --force-reinstall - - run: - command: python testing/tests/import_cadCAD_test.py - name: cadCAD importable by Jupyter Server - -workflows: - main: - jobs: - - test - - jupyterServerTest diff --git a/.github/workflows/cadcad-ci.yml b/.github/workflows/cadcad-ci.yml new file mode 100644 index 00000000..9ff30705 --- /dev/null +++ b/.github/workflows/cadcad-ci.yml @@ -0,0 +1,61 @@ +# This workflow will install Python dependencies and run tests with multiple versions of Python + +name: cadCAD CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + build: + continue-on-error: true + + strategy: + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12"] + os: [ubuntu-latest, macos-latest] + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + + - name: Display Python version + run: python -c "import sys; print(sys.version)" + + - name: Install test and build dependencies + run: | + python -m pip install --upgrade pip + python -m pip install jupyter + pip install -r requirements.txt + + - name: Build cadCAD + run: | + python setup.py bdist_wheel + python -m pip install dist/*.whl --force-reinstall + + - name: Run tests + run: | + python testing/tests/multi_model_row_count.py + python testing/tests/param_sweep.py + python testing/tests/policy_aggregation.py + python testing/tests/timestep1psub0.py + python testing/tests/runs_not_zero.py + python testing/tests/run1psub0.py + python testing/tests/append_mod_test.py + python testing/tests/cadCAD_exp.py + + - name: Run Jupyter test + run: | + python testing/tests/import_cadCAD_test.py diff --git a/requirements.txt b/requirements.txt index 0890a625..a951734a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,21 +1,13 @@ -i https://pypi.org/simple -matplotlib==3.3.2 -networkx==2.5 -parameterized==0.7.4 -plotly==4.10.0 -pytest==6.0.2 -scikit-learn==0.23.2 -scipy>=1.5.2 -seaborn==0.11.0 -tabulate==0.8.7 -xarray==0.16.0 -wheel==0.38.1 -pandas==1.1.5 -fn==0.4.3 -funcy==1.16 -dill==0.3.4 -pathos==0.2.8 -numpy==1.22.0 -pytz==2021.1 -six>=1.11.0 +parameterized>=0.7.4 +pytest>=6.0.2 +tabulate>=0.8.7 +wheel>=0.38.1 +pandas>=1.1.5 +funcy>=1.16 +dill>=0.3.4 +pathos>=0.2.8 +numpy>=1.22.0 +pytz>=2021.1 +setuptools>=69.0.2