-
Notifications
You must be signed in to change notification settings - Fork 1k
139 lines (134 loc) · 4.73 KB
/
workflow.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
name: CI
on:
push:
branches:
- main
pull_request:
jobs:
linter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8==5.0.4 isort==5.10.1
python -m pip install black==22.6.0
flake8 --version
- name: Lint
run: |
echo "Running isort"
isort --profile black .
echo "Running black"
black --check .
echo "Running flake8"
flake8 .
test_cpu:
runs-on: ubuntu-latest
strategy:
matrix:
torch: [1.10.1, 1.11.0, 1.12.1, 1.13.1]
include:
- torch: 1.10.1
torchvision: 0.11.2
- torch: 1.11.0
torchvision: 0.12.0
- torch: 1.12.1
torchvision: 0.13.1
- torch: 1.13.1
torchvision: 0.14.1
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install -U pip
python -m pip install ninja opencv-python-headless onnx pytest-xdist codecov
python -m pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install Cython termcolor numpy tensorboard pycocotools matplotlib pyaml opencv-python tqdm pytorch-lightning torchmetrics codecov flake8 pytest timm
python -m pip install -r requirements.txt
- name: Setup
run: rm -rf .eggs && python setup.py develop
- name: Run unittests and generate coverage report
run: |
coverage run --branch --source nanodet -m pytest tests/
coverage xml
coverage report -m
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
if: matrix.torch == '1.12.1'
with:
file: ./coverage.xml
flags: unittests
env_vars: OS,PYTHON
name: codecov-umbrella
fail_ci_if_error: false
# test_cuda:
# runs-on: ubuntu-latest
# env:
# CUDA: 10.2.89-1
# CUDA_SHORT: 10.2
# UBUNTU_VERSION: ubuntu1804
# strategy:
# matrix:
# torch: [1.7.0, 1.8.0, 1.9.0]
# include:
# - torch: 1.7.0
# torchvision: 0.8.1
# - torch: 1.8.0
# torchvision: 0.9.0
# - torch: 1.9.0
# torchvision: 0.10.0
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Set up Python 3.6
# uses: actions/setup-python@v2
# with:
# python-version: 3.6
# - name: Install CUDA
# run: |
# export INSTALLER=cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb
# wget http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER}
# sudo dpkg -i ${INSTALLER}
# wget https://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/7fa2af80.pub
# sudo apt-key add 7fa2af80.pub
# sudo apt update -qq
# sudo apt install -y cuda-${CUDA_SHORT/./-} cuda-cufft-dev-${CUDA_SHORT/./-}
# sudo apt clean
# export CUDA_HOME=/usr/local/cuda-${CUDA_SHORT}
# export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${CUDA_HOME}/include:${LD_LIBRARY_PATH}
# export PATH=${CUDA_HOME}/bin:${PATH}
# - name: Install dependencies
# run: |
# python -m pip install -U pip
# python -m pip install ninja opencv-python-headless onnx pytest-xdist codecov
# python -m pip install torch==${{matrix.torch}} torchvision==${{matrix.torchvision}} -f https://download.pytorch.org/whl/torch_stable.html
# python -m pip install Cython termcolor numpy tensorboard pycocotools matplotlib pyaml opencv-python tqdm pytorch-lightning torchmetrics codecov flake8 pytest
# - name: Setup
# run: |
# rm -rf .eggs
# python setup.py check -m -s
# TORCH_CUDA_ARCH_LIST=7.0 pip install .
# - name: Run unittests and generate coverage report
# run: |
# coverage run --branch --source nanodet -m pytest tests/
# coverage xml
# coverage report -m
# - name: Upload coverage to Codecov
# uses: codecov/[email protected]
# if: matrix.torch == '1.9.0'
# with:
# file: ./coverage.xml
# flags: unittests
# env_vars: OS,PYTHON
# name: codecov-umbrella
# fail_ci_if_error: false