Skip to content

Commit eae1868

Browse files
committed
CI tests in Python 3.9
1 parent fff495f commit eae1868

File tree

3 files changed

+232
-43
lines changed

3 files changed

+232
-43
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: 'Run Python Tests'
2+
description: 'Run Python Tests'
3+
inputs:
4+
python-version:
5+
description: 'Python version'
6+
required: true
7+
runs:
8+
using: "composite"
9+
steps:
10+
- name: Check out repository code
11+
uses: actions/checkout@v4
12+
- name: Display Python version
13+
env:
14+
PYTHON_VERSION: ${{ inputs.python-version }}
15+
run: echo "Running Python tests with version: ${PYTHON_VERSION}"
16+
- name: Set up Python
17+
uses: actions/setup-python@v3
18+
with:
19+
python-version: ${{ inputs.python-version }}
20+
- name: Install datasets
21+
run: |
22+
mkdir -p ${NUSCENES} && mkdir -p ${NUIMAGES}
23+
24+
echo "Installing: v1.0-mini.tgz"
25+
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/v1.0/v1.0-mini.tgz | tar -xzf - -C ${NUSCENES} --exclude sweeps
26+
27+
echo "Installing: nuimages-v1.0-mini.tgz"
28+
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/nuimages-v1.0/nuimages-v1.0-mini.tgz | tar -xzf - -C ${NUIMAGES}
29+
30+
echo "Installing: nuScenes-lidarseg-mini-v1.0.tar.bz2"
31+
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/nuscenes-lidarseg-v1.0/nuScenes-lidarseg-mini-v1.0.tar.bz2 | tar -xjf - -C ${NUSCENES}
32+
33+
echo "Installing: nuScenes-panoptic-v1.0-mini.tar.gz"
34+
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/nuscenes-panoptic-v1.0/nuScenes-panoptic-v1.0-mini.tar.gz | tar -xzf - --strip-components=1 -C ${NUSCENES}
35+
36+
echo "Installing: nuScenes-map-expansion-v1.3.zip"
37+
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/v1.0/nuScenes-map-expansion-v1.3.zip -o nuScenes-map-expansion-v1.3.zip
38+
unzip -q nuScenes-map-expansion-v1.3.zip -d ${NUSCENES}/maps/
39+
40+
echo "Installing: can_bus.zip"
41+
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/v1.0/can_bus.zip -o can_bus.zip
42+
unzip -q can_bus.zip -d ${NUSCENES} can_bus/scene-0001_*
43+
44+
echo "Removing zip files . . ."
45+
rm nuScenes-map-expansion-v1.3.zip can_bus.zip
46+
- name: Install dependencies
47+
env:
48+
PYTHON_VERSION: ${{ inputs.python-version }}
49+
run: |
50+
PYTHON_VERSION_UNDERSCORE=${PYTHON_VERSION//./_}
51+
pip install -r setup/requirements_${PYTHON_VERSION_UNDERSCORE}_lock.txt
52+
- name: Run Python unit tests
53+
run: |
54+
python -m unittest discover python-sdk
55+
- name: Run Jupyter notebook tests
56+
run: |
57+
pip install jupyter -q
58+
export PYTHONPATH="${PYTHONPATH}:$(pwd)/python-sdk"
59+
./setup/test_tutorial.sh --ci

.github/workflows/pipeline.yml

Lines changed: 11 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,49 +4,17 @@ env:
44
NUSCENES: data/sets/nuscenes
55
NUIMAGES: data/sets/nuimages
66
jobs:
7-
Test:
7+
Test in 3.9:
88
runs-on: ubuntu-latest
99
steps:
10-
- name: Check out repository code
11-
uses: actions/checkout@v4
12-
- name: Set up Python 3.12
13-
uses: actions/setup-python@v3
10+
- id: Test in Python 3.9
11+
uses: ./.github/actions/python-tests
1412
with:
15-
python-version: "3.12"
16-
- name: Install datasets
17-
run: |
18-
mkdir -p ${NUSCENES} && mkdir -p ${NUIMAGES}
19-
20-
echo "Installing: v1.0-mini.tgz"
21-
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/v1.0/v1.0-mini.tgz | tar -xzf - -C ${NUSCENES} --exclude sweeps
22-
23-
echo "Installing: nuimages-v1.0-mini.tgz"
24-
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/nuimages-v1.0/nuimages-v1.0-mini.tgz | tar -xzf - -C ${NUIMAGES}
25-
26-
echo "Installing: nuScenes-lidarseg-mini-v1.0.tar.bz2"
27-
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/nuscenes-lidarseg-v1.0/nuScenes-lidarseg-mini-v1.0.tar.bz2 | tar -xjf - -C ${NUSCENES}
28-
29-
echo "Installing: nuScenes-panoptic-v1.0-mini.tar.gz"
30-
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/nuscenes-panoptic-v1.0/nuScenes-panoptic-v1.0-mini.tar.gz | tar -xzf - --strip-components=1 -C ${NUSCENES}
31-
32-
echo "Installing: nuScenes-map-expansion-v1.3.zip"
33-
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/v1.0/nuScenes-map-expansion-v1.3.zip -o nuScenes-map-expansion-v1.3.zip
34-
unzip -q nuScenes-map-expansion-v1.3.zip -d ${NUSCENES}/maps/
35-
36-
echo "Installing: can_bus.zip"
37-
curl -fsSL https://motional-nuscenes.s3-ap-northeast-1.amazonaws.com/public/v1.0/can_bus.zip -o can_bus.zip
38-
unzip -q can_bus.zip -d ${NUSCENES} can_bus/scene-0001_*
39-
40-
echo "Removing zip files . . ."
41-
rm nuScenes-map-expansion-v1.3.zip can_bus.zip
42-
- name: Install dependencies
43-
run: |
44-
pip install -r setup/requirements_3_12_lock.txt
45-
- name: Run Python unit tests
46-
run: |
47-
python -m unittest discover python-sdk
48-
- name: Run Jupyter notebook tests
49-
run: |
50-
pip install jupyter -q
51-
export PYTHONPATH="${PYTHONPATH}:$(pwd)/python-sdk"
52-
./setup/test_tutorial.sh --ci
13+
python-version: 3.9
14+
Test in 3.12:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- id: Test in Python 3.12
18+
uses: ./.github/actions/python-tests
19+
with:
20+
python-version: 3.12

setup/requirements_3_9_lock.txt

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.9
3+
# by the following command:
4+
#
5+
# pip-compile --output-file=setup/requirements_3_9_lock.txt setup/requirements.txt
6+
#
7+
cachetools==6.2.0
8+
# via -r setup/requirements/requirements_base.txt
9+
contourpy==1.3.0
10+
# via matplotlib
11+
cycler==0.12.1
12+
# via matplotlib
13+
descartes==1.1.0
14+
# via -r setup/requirements/requirements_base.txt
15+
filelock==3.19.1
16+
# via torch
17+
fire==0.7.1
18+
# via -r setup/requirements/requirements_base.txt
19+
fonttools==4.59.1
20+
# via matplotlib
21+
fsspec==2025.7.0
22+
# via torch
23+
importlib-metadata==8.7.0
24+
# via triton
25+
importlib-resources==6.5.2
26+
# via matplotlib
27+
jinja2==3.1.6
28+
# via torch
29+
joblib==1.5.1
30+
# via scikit-learn
31+
kiwisolver==1.4.7
32+
# via matplotlib
33+
markupsafe==3.0.2
34+
# via jinja2
35+
matplotlib==3.9.4
36+
# via
37+
# -r setup/requirements/requirements_base.txt
38+
# descartes
39+
motmetrics==1.4.0
40+
# via -r setup/requirements/requirements_tracking.txt
41+
mpmath==1.3.0
42+
# via sympy
43+
networkx==3.2.1
44+
# via torch
45+
numpy==1.26.4
46+
# via
47+
# -r setup/requirements/requirements_base.txt
48+
# contourpy
49+
# matplotlib
50+
# motmetrics
51+
# opencv-python-headless
52+
# pandas
53+
# pycocotools
54+
# pyquaternion
55+
# scikit-learn
56+
# scipy
57+
# shapely
58+
# torchvision
59+
nvidia-cublas-cu12==12.8.4.1
60+
# via
61+
# nvidia-cudnn-cu12
62+
# nvidia-cusolver-cu12
63+
# torch
64+
nvidia-cuda-cupti-cu12==12.8.90
65+
# via torch
66+
nvidia-cuda-nvrtc-cu12==12.8.93
67+
# via torch
68+
nvidia-cuda-runtime-cu12==12.8.90
69+
# via torch
70+
nvidia-cudnn-cu12==9.10.2.21
71+
# via torch
72+
nvidia-cufft-cu12==11.3.3.83
73+
# via torch
74+
nvidia-cufile-cu12==1.13.1.3
75+
# via torch
76+
nvidia-curand-cu12==10.3.9.90
77+
# via torch
78+
nvidia-cusolver-cu12==11.7.3.90
79+
# via torch
80+
nvidia-cusparse-cu12==12.5.8.93
81+
# via
82+
# nvidia-cusolver-cu12
83+
# torch
84+
nvidia-cusparselt-cu12==0.7.1
85+
# via torch
86+
nvidia-nccl-cu12==2.27.3
87+
# via torch
88+
nvidia-nvjitlink-cu12==12.8.93
89+
# via
90+
# nvidia-cufft-cu12
91+
# nvidia-cusolver-cu12
92+
# nvidia-cusparse-cu12
93+
# torch
94+
nvidia-nvtx-cu12==12.8.90
95+
# via torch
96+
opencv-python-headless==4.11.0.86
97+
# via -r setup/requirements/requirements_base.txt
98+
packaging==25.0
99+
# via matplotlib
100+
pandas==2.3.2
101+
# via
102+
# -r setup/requirements/requirements_tracking.txt
103+
# motmetrics
104+
parameterized==0.9.0
105+
# via -r setup/requirements/requirements_base.txt
106+
pillow==11.3.0
107+
# via
108+
# -r setup/requirements/requirements_base.txt
109+
# matplotlib
110+
# torchvision
111+
pycocotools==2.0.10
112+
# via -r setup/requirements/requirements_nuimages.txt
113+
pyparsing==3.2.3
114+
# via matplotlib
115+
pyquaternion==0.9.9
116+
# via -r setup/requirements/requirements_base.txt
117+
python-dateutil==2.9.0.post0
118+
# via
119+
# matplotlib
120+
# pandas
121+
pytz==2025.2
122+
# via pandas
123+
scikit-learn==1.6.1
124+
# via -r setup/requirements/requirements_base.txt
125+
scipy==1.13.1
126+
# via
127+
# -r setup/requirements/requirements_base.txt
128+
# motmetrics
129+
# scikit-learn
130+
shapely==2.0.7
131+
# via -r setup/requirements/requirements_base.txt
132+
six==1.17.0
133+
# via python-dateutil
134+
sympy==1.14.0
135+
# via torch
136+
termcolor==3.1.0
137+
# via fire
138+
threadpoolctl==3.6.0
139+
# via scikit-learn
140+
torch==2.8.0
141+
# via
142+
# -r setup/requirements/requirements_prediction.txt
143+
# torchvision
144+
torchvision==0.23.0
145+
# via -r setup/requirements/requirements_prediction.txt
146+
tqdm==4.67.1
147+
# via -r setup/requirements/requirements_base.txt
148+
triton==3.4.0
149+
# via torch
150+
typing-extensions==4.15.0
151+
# via torch
152+
tzdata==2025.2
153+
# via pandas
154+
xmltodict==0.14.2
155+
# via motmetrics
156+
zipp==3.23.0
157+
# via
158+
# importlib-metadata
159+
# importlib-resources
160+
161+
# The following packages are considered to be unsafe in a requirements file:
162+
# setuptools

0 commit comments

Comments
 (0)