Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIX-#1867: establish CI #1868

Merged
merged 47 commits into from
Aug 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
2a2f3ce
FIX-#1867: add '--no-cache-dir' option
anmyachev Jul 30, 2020
2119aeb
FIX-#1867: use 'pip cache purge'
anmyachev Jul 30, 2020
bc685cd
FIX-#1867: use pip cache list
anmyachev Jul 30, 2020
5ea4819
FIX-#1867: remove purge usage
anmyachev Jul 30, 2020
3024acf
FIX-#1867: upgrade pip
anmyachev Jul 30, 2020
b82c283
FIX-#1867: upgrade setuptools and wheel also
anmyachev Jul 30, 2020
c896e55
FIX-#1867: remove '--no-cache-dir' option; upgrade pip; pin pytest<6
anmyachev Jul 30, 2020
4ed57db
FIX-#1867: use setup-python@2; use checkout@v2
anmyachev Jul 30, 2020
4bd5102
FIX-#1867: add pip list
anmyachev Jul 30, 2020
bfa8aa1
FIX-#1867: use 2020-resolver feature
anmyachev Jul 30, 2020
880bc8f
FIX-#1867: remove extra command
anmyachev Jul 30, 2020
18207ff
FIX-#1867: install pyarrow explicitly
anmyachev Jul 30, 2020
a415d60
FIX-#1867: add verbose mode
anmyachev Jul 31, 2020
9e6e289
FIX-#1867: try to use setup-miniconda action
anmyachev Jul 31, 2020
d0b6ee8
FIX-#1867: remove setup-python action
anmyachev Jul 31, 2020
8d7ce4a
FIX-#1867: fix test-api
anmyachev Jul 31, 2020
52e4ba5
FIX-#1867: add test-all, test-windows, test-pyarrow with conda usage
anmyachev Jul 31, 2020
2fad256
FIX-#1867: try to use cache
anmyachev Jul 31, 2020
67e378b
FIX-#1867: add some options for proper cache usage
anmyachev Jul 31, 2020
86a4b8d
FIX-#1867: add pip cache
anmyachev Jul 31, 2020
970ebbf
FIX-#1867: work with coverage inside modin environment
anmyachev Jul 31, 2020
bb79dcd
FIX-#1867: skip failed tests
anmyachev Jul 31, 2020
aee03e9
FIX-#1867: remove CODECOV_TOKEN
anmyachev Jul 31, 2020
fb15fae
FIX-#1867: remove pytest-testmon usage
anmyachev Jul 31, 2020
2671880
FIX-#1867: fix CACHE_NUMBER setup for 'Cache pip' step
anmyachev Jul 31, 2020
663db73
FIX-#1867: return 'requirements.txt' for teamcity tests
anmyachev Jul 31, 2020
87102e6
FIX-#1867: fix coverage report name on windows
anmyachev Aug 1, 2020
d6edee1
FIX-#1867: add tests for python 3.8
anmyachev Aug 1, 2020
031b10d
FIX-#1867: use unix-like separator for codecov on Windows
anmyachev Aug 1, 2020
7b7e563
FIX-#1867: try to use 'github.run_id' for cache key
anmyachev Aug 2, 2020
ed5fdeb
FIX-#1867: add include option for coverage
anmyachev Aug 2, 2020
d18daa1
FIX-#1867: update push.yml
anmyachev Aug 2, 2020
ae33bf6
FIX-#1867: test if condition
anmyachev Aug 2, 2020
23e0da7
FIX-#1867: fix cache pip
anmyachev Aug 2, 2020
9a64063
FIX-#1867: remove auto-activate-base option
anmyachev Aug 2, 2020
ba4797d
FIX-#1867: remove pytest_custom-exit-code
anmyachev Aug 2, 2020
84c9592
Merge branch 'master' of https://github.com/modin-project/modin into …
anmyachev Aug 3, 2020
95ac6b6
FIX-#1867: update test-experimental
anmyachev Aug 3, 2020
7609a07
FIX-#1867: remove auto-update-conda option for ubuntu
anmyachev Aug 3, 2020
af23f3b
FIX-#1867: add prepare-cache job to ci.yml
anmyachev Aug 3, 2020
7fd6919
FIX-#1867: fix needs
anmyachev Aug 3, 2020
7a6383e
FIX-#1867: fix yml syntax
anmyachev Aug 3, 2020
ab60ee5
FIX-#1867: change if condition
anmyachev Aug 3, 2020
1b30bbb
FIX-#1867: return python3.7 for test API
anmyachev Aug 3, 2020
8f72b9e
FIX-#1867: use runner.os for key name
anmyachev Aug 3, 2020
9a92f9d
FIX-#1867: skip tests only on Windows
anmyachev Aug 3, 2020
8ae3eae
FIX-#1867: remove Cache conda step
anmyachev Aug 3, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
299 changes: 232 additions & 67 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

171 changes: 135 additions & 36 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -1,103 +1,202 @@
name: master
on: push
jobs:
prepare-cache:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["ubuntu-latest", "windows-latest"]
python-version: ["3.6", "3.7", "3.8"]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Cache pip if Ubuntu
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-python-${{ matrix.python-version }}-pip-${{ github.run_id }}-${{ hashFiles('environment.yml') }}
- name: Cache pip if Windows
if: startsWith(runner.os, 'Windows')
uses: actions/cache@v1
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-python-${{ matrix.python-version }}-pip-${{ github.run_id }}-${{ hashFiles('environment.yml') }}
- uses: goanpeca/setup-miniconda@v1.6.0
with:
python-version: ${{matrix.python-version}}
channel-priority: strict
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!
auto-update-conda: true
- shell: bash -l {0}
run: pip install ray==0.8.6
- name: Conda environment
shell: bash -l {0}
run: |
conda info
conda list

test-all:
needs: prepare-cache
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.6.x", "3.7.x"]
python-version: ["3.6", "3.7", "3.8"]
engine: ["python", "ray", "dask"]
part: ["Reduction_A", "Reduction_B", "Binary", "MapMetadata", "UDF", "Default", "Window", "Indexing", "Iter", "JoinSort", 3]
env:
MODIN_ENGINE: ${{matrix.engine}}
MODIN_MEMORY: 1000000000
name: test (${{matrix.engine}}, part ${{matrix.part}}, python ${{matrix.python-version}})
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
fetch-depth: 1
- uses: actions/setup-python@v1
- name: Cache pip
uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-python-${{ matrix.python-version }}-pip-${{ github.run_id }}-${{ hashFiles('environment.yml') }}
- uses: goanpeca/setup-miniconda@v1.6.0
with:
activate-environment: modin
environment-file: environment.yml
python-version: ${{matrix.python-version}}
architecture: "x64"
channel-priority: strict
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!
- name: Conda environment
shell: bash -l {0}
run: |
conda info
conda list
- name: Install HDF5
if: matrix.part == 3
run: sudo apt update && sudo apt install -y libhdf5-dev
- run: pip install -r requirements.txt
- run: bash run-tests.sh ${{matrix.engine}} -k "TestDataFrame${{matrix.part}}"
- shell: bash -l {0}
run: pytest modin/pandas/test/ -k "TestDataFrame${{matrix.part}}"
if: matrix.part != 3
- run: python -m pytest modin/pandas/test/test_series.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_series.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_rolling.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_rolling.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_concat.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_concat.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_groupby.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_groupby.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_reshape.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_reshape.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_general.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_general.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_io.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_io.py
if: matrix.part == 3
- run: python -m pytest modin/experimental/pandas/test/test_io_exp.py
- shell: bash -l {0}
run: python -m pytest modin/experimental/pandas/test/test_io_exp.py
if: matrix.part == 3
- run: bash <(curl -s https://codecov.io/bash)
- shell: bash -l {0}
run: bash <(curl -s https://codecov.io/bash)

test-windows:
needs: prepare-cache
runs-on: windows-latest
strategy:
matrix:
python-version: ["3.6.x", "3.7.x"]
python-version: ["3.6", "3.7", "3.8"]
engine: ["ray", "dask"]
part: ["Reduction_A", "Reduction_B", "Binary", "MapMetadata", "UDF", "Default", "Window", "Indexing", "Iter", "JoinSort", 3]
env:
MODIN_ENGINE: ${{matrix.engine}}
MODIN_MEMORY: 1000000000
name: test-windows
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
fetch-depth: 1
- uses: actions/setup-python@v1
- name: Cache pip
uses: actions/cache@v1
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-python-${{ matrix.python-version }}-pip-${{ github.run_id }}-${{ hashFiles('environment.yml') }}
- uses: goanpeca/setup-miniconda@v1.6.0
with:
activate-environment: modin
environment-file: environment.yml
python-version: ${{matrix.python-version}}
architecture: "x64"
- run: pip install -r requirements.txt
- run: python -m pytest modin/pandas/test/test_dataframe.py::TestDataFrame${{matrix.part}}
channel-priority: strict
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!
auto-update-conda: true
- name: Conda environment
shell: bash -l {0}
run: |
conda info
conda list
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_dataframe.py::TestDataFrame${{matrix.part}}
if: matrix.part != 3
- run: python -m pytest modin/pandas/test/test_series.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_series.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_rolling.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_rolling.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_concat.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_concat.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_groupby.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_groupby.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_reshape.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_reshape.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_general.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_general.py
if: matrix.part == 3
- run: python -m pytest modin/pandas/test/test_io.py
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_io.py
if: matrix.part == 3
- run: choco install codecov
- run: codecov -f .\coverage.xml -t ${{secrets.CODECOV_TOKEN}}
- shell: bash -l {0}
run: choco install codecov
- shell: bash -l {0}
run: codecov -f ./coverage.xml

test-pyarrow:
needs: prepare-cache
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.6.x", "3.7.x"]
python-version: ["3.6", "3.7", "3.8"]
env:
MODIN_BACKEND: pyarrow
MODIN_EXPERIMENTAL: "True"
name: test (pyarrow, python ${{matrix.python-version}})
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
fetch-depth: 1
- uses: actions/setup-python@v1
- name: Cache pip
uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-python-${{ matrix.python-version }}-pip-${{ github.run_id }}-${{ hashFiles('environment.yml') }}
- uses: goanpeca/setup-miniconda@v1.6.0
with:
activate-environment: modin
environment-file: environment.yml
python-version: ${{matrix.python-version}}
architecture: "x64"
channel-priority: strict
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!
- name: Conda environment
shell: bash -l {0}
run: |
conda info
conda list
- run: sudo apt update && sudo apt install -y libhdf5-dev
- run: pip install -r requirements.txt
- run: python -m pytest modin/pandas/test/test_io.py::test_from_csv
- shell: bash -l {0}
run: python -m pytest modin/pandas/test/test_io.py::test_from_csv
31 changes: 31 additions & 0 deletions environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: modin
channels:
- conda-forge
dependencies:
- pandas==1.0.5
- numpy
- pyarrow<0.17
- dask[complete]>=2.1.0,<=2.19.0
- distributed>=2.3.2,<=2.19.0
- xarray
- Jinja2
- pathlib
- scipy
- pip
- s3fs
- feather-format
- lxml
- openpyxl
- xlrd
- matplotlib<=3.2.2
- sqlalchemy
- pandas-gbq
- pytables
- msgpack-python
- psutil
- pytest
- pytest-cov
- pytest-xdist
- coverage<5.0
- pip:
- ray==0.8.6
6 changes: 6 additions & 0 deletions modin/pandas/test/test_dataframe.py
Original file line number Diff line number Diff line change
Expand Up @@ -2148,6 +2148,9 @@ def test_cov(self):
pandas_result = pandas.DataFrame(data).cov()
df_equals(modin_result, pandas_result)

@pytest.mark.skipif(
os.name == "nt", reason="AssertionError: numpy array are different",
)
@pytest.mark.parametrize("data", test_data_values, ids=test_data_keys)
def test_dot(self, data):
modin_df = pd.DataFrame(data)
Expand Down Expand Up @@ -2194,6 +2197,9 @@ def test_dot(self, data):
pandas_result = pandas.DataFrame([1]).dot(pandas_df.T)
df_equals(modin_result, pandas_result)

@pytest.mark.skipif(
os.name == "nt", reason="AssertionError: numpy array are different",
)
@pytest.mark.parametrize("data", test_data_values, ids=test_data_keys)
def test_matmul(self, data):
modin_df = pd.DataFrame(data)
Expand Down
2 changes: 0 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ s3fs
pytest
coverage<5.0
pytest-cov
pytest-testmon
pytest-custom_exit_code
pytest-xdist
feather-format
lxml
Expand Down
1 change: 0 additions & 1 deletion requirements/df_test_requires.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ pandas==1.0.5
numpy
psutil==5.6.6
pytest
pytest-testmon
pytest-custom_exit_code
pytest-xdist
matplotlib
Expand Down
1 change: 0 additions & 1 deletion requirements/env_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ dependencies:
- pytest
anmyachev marked this conversation as resolved.
Show resolved Hide resolved
- coverage<5.0
- pytest-cov
- pytest-testmon
- pytest-custom_exit_code
- pytest-xdist
- feather-format
Expand Down
1 change: 0 additions & 1 deletion requirements/windows_test_requires.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ s3fs
pytest
coverage<5.0
pytest-cov
pytest-testmon
pytest-custom_exit_code
pytest-xdist
feather-format
Expand Down
48 changes: 0 additions & 48 deletions run-tests.sh

This file was deleted.

Loading