-
Notifications
You must be signed in to change notification settings - Fork 46
143 lines (109 loc) · 3.7 KB
/
test-install.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
name: Test installation
on:
pull_request:
branches:
- master
jobs:
# -----------------------------------------
# Use a module from local source
# -----------------------------------------
use_as_local_module:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.8, 3.9]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install batchflow requirements
run: |
pip install --user -U pip poetry
pip install -e .
- name: Run 'import batchflow'
run: python -c 'import batchflow'
- name: Run basic tests
run: |
pip install pytest
cd batchflow/tests
pytest --disable-pytest-warnings -v dataset_test.py filesindex_test.py datasetindex_test.py
# -----------------------------------------
# Install with pip
# -----------------------------------------
install_with_pip:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.8, 3.9]
runs-on: ${{ matrix.os }}
steps:
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install batchflow with pip
run: |
pip install --user -U pip wheel
pip install --user "git+https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git@${{ github.head_ref }}"
- name: Run 'import batchflow'
run: python -c 'import batchflow'
- uses: actions/checkout@v3
- name: Run basic tests
run: |
pip install -U pytest
cd batchflow/tests
pytest --disable-pytest-warnings -v dataset_test.py filesindex_test.py datasetindex_test.py
# -----------------------------------------
# Install with poetry
# -----------------------------------------
install_with_poetry:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.8, 3.9]
runs-on: ${{ matrix.os }}
steps:
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install batchflow with poetry
run: |
pip install --user -U pip
pip install wheel poetry
echo '[tool.poetry]
name = "test_project"
description = "test"
version = "0.0.1"
authors = ["Test <[email protected]>"]
[tool.poetry.dependencies]
python = "^${{ matrix.python-version }}"
pytest = "^7.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
' >> pyproject.toml
poetry add git+https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git@${{ github.head_ref }}
- name: Run 'import batchflow' in installed environment
run: poetry run python -c 'import batchflow'
- uses: actions/checkout@v3
with:
path: src
- name: Prepare directory
if: runner.os != 'Windows'
run: |
cp -r src/batchflow/tests .
- name: Prepare directory
if: runner.os == 'Windows'
run: |
xcopy /I /S src\batchflow\tests tests
- name: Run basic tests
run: |
cd tests
poetry run python -m pytest --disable-pytest-warnings -v dataset_test.py filesindex_test.py datasetindex_test.py