-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
158 lines (147 loc) · 3.88 KB
/
.gitlab-ci.yml
File metadata and controls
158 lines (147 loc) · 3.88 KB
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
variables:
UV_INSTALL_DIR: "${CI_PROJECT_DIR}/.local/bin"
UV_CACHE_DIR: "${CI_PROJECT_DIR}/.uv-cache"
UV_LINK_MODE: copy
stages:
- setup
- static-analysis
- test
- doc
.default-before-script: &default-before-script
- git submodule update --init --recursive
- export PATH="${UV_INSTALL_DIR}:$PATH"
- source "${UV_INSTALL_DIR}/env"
- uv run --no-sync python --version
- bash scripts/install_uv.sh --no-install --no-weights --cpu
uv-install-py38:
image: python:3.8-bullseye
stage: setup
script:
- curl -LsSf https://astral.sh/uv/install.sh | sh
- *default-before-script
artifacts:
paths:
- ".local/"
expire_in: 1 day
tags:
- docker
uv-install-py310:
image: python:3.10-bullseye
stage: setup
script:
- curl -LsSf https://astral.sh/uv/install.sh | sh
- *default-before-script
artifacts:
paths:
- ".local/"
expire_in: 1 day
tags:
- docker
ruff-lint:
stage: static-analysis
image: python:3.8-bullseye
before_script:
- *default-before-script
- uv pip install -U pip wheel setuptools
- uv sync --group=dev --extra=cpu
script:
- uv run --no-sync make check-ruff-lint
tags:
- docker
pytest-py38:
stage: test
image: python:3.8-bullseye
dependencies:
- uv-install-py38
before_script:
- apt-get update -y
- apt-get install -y libgl1-mesa-glx build-essential
- *default-before-script
- uv pip install -U pip wheel setuptools
- bash scripts/install_uv.sh --no-weights --cpu -m "detectron2,yolox,segment_anything,jde"
- uv sync --inexact --extra=dev --extra=cpu
script:
- uv run --no-sync pytest
tags:
- docker
pytest-py310:
stage: test
image: python:3.10-bullseye
dependencies:
- uv-install-py310
before_script:
- apt-get update -y
- apt-get install -y libgl1-mesa-glx build-essential
- *default-before-script
- uv pip install -U pip wheel setuptools
- bash scripts/install_uv.sh --no-weights --cpu -m "detectron2,yolox,segment_anything,jde"
- uv sync --inexact --extra=dev --extra=cpu
script:
- uv run --no-sync pytest
tags:
- docker
pytest-pip-py38:
stage: test
image: python:3.8-bullseye
before_script:
- apt-get update -y
- apt-get install -y libgl1-mesa-glx build-essential
- python3 -m venv venv
- source venv/bin/activate
- pip install -U pip wheel setuptools
- pip install torch==2.0.0 torchvision==0.15.1 --index-url https://download.pytorch.org/whl/cpu --extra-index-url https://pypi.org/simple
- bash scripts/install.sh --no-weights --cpu -m "detectron2,yolox,segment_anything,jde"
- pip install -e .[dev,cpu]
script:
- pytest
tags:
- docker
pytest-pip-py310:
stage: test
image: python:3.10-bullseye
before_script:
- apt-get update -y
- apt-get install -y libgl1-mesa-glx build-essential
- python3 -m venv venv
- source venv/bin/activate
- pip install -U pip wheel setuptools
- bash scripts/install.sh --no-weights --cpu -m "detectron2,yolox,segment_anything,jde"
- pip install -e .[dev,cpu]
script:
- pytest
tags:
- docker
ruff-format:
stage: static-analysis
image: python:3.8-bullseye
before_script:
- *default-before-script
- uv pip install -U pip wheel setuptools
- uv sync --group=dev --extra=cpu
script:
- uv run --no-sync make check-ruff-format
tags:
- docker
ruff-organize-imports:
stage: static-analysis
image: python:3.8-bullseye
before_script:
- *default-before-script
- uv pip install -U pip wheel setuptools
- uv sync --group=dev --extra=cpu
script:
- uv run --no-sync make check-ruff-organize-imports
tags:
- docker
doc:
stage: doc
image: python:3.8-bullseye
before_script:
- *default-before-script
- uv pip install -U pip wheel setuptools
- uv sync --group=doc --extra=cpu
- cd docs
script:
- uv run --no-sync make html
tags:
- docker