Skip to content

Commit dc10e7c

Browse files
test_runner
1 parent 0a25342 commit dc10e7c

2 files changed

Lines changed: 188 additions & 164 deletions

File tree

.github/actionlint.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ self-hosted-runner:
33
- windows-2025-8-core
44
- windows-2025-16-core
55
- aks-linux-6-cores-55gb-gpu-a10
6+
- Linux
7+
- NNCF

.github/workflows/call_precommit.yml

Lines changed: 186 additions & 164 deletions
Original file line numberDiff line numberDiff line change
@@ -19,182 +19,204 @@ on:
1919
required: false
2020

2121
jobs:
22-
common:
23-
timeout-minutes: 40
24-
runs-on: ubuntu-latest
25-
defaults:
26-
run:
27-
shell: bash
28-
steps:
29-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
30-
with:
31-
lfs: true
32-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
33-
with:
34-
python-version: ${{ inputs.python_version }}
35-
- name: Install uv
36-
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
37-
- name: Override constraints
38-
if: ${{ inputs.override_requirements != '' }}
39-
run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
40-
shell: bash
41-
- name: Install NNCF and test requirements
42-
run: uv pip install --system . -r tests/common/requirements.txt
43-
- name: Print installed modules
44-
run: pip list
45-
- name: Run common precommit test scope
46-
run: make test-common
47-
env:
48-
NUM_WORKERS: 2
22+
# common:
23+
# timeout-minutes: 40
24+
# runs-on: ubuntu-latest
25+
# defaults:
26+
# run:
27+
# shell: bash
28+
# steps:
29+
# - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
30+
# with:
31+
# lfs: true
32+
# - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
33+
# with:
34+
# python-version: ${{ inputs.python_version }}
35+
# - name: Install uv
36+
# uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
37+
# - name: Override constraints
38+
# if: ${{ inputs.override_requirements != '' }}
39+
# run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
40+
# shell: bash
41+
# - name: Install NNCF and test requirements
42+
# run: uv pip install --system . -r tests/common/requirements.txt
43+
# - name: Print installed modules
44+
# run: pip list
45+
# - name: Run common precommit test scope
46+
# run: make test-common
47+
# env:
48+
# NUM_WORKERS: 2
4949

50-
onnx:
51-
timeout-minutes: 40
52-
runs-on: ubuntu-latest-8-cores
53-
defaults:
54-
run:
55-
shell: bash
56-
steps:
57-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
58-
with:
59-
lfs: true
60-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
61-
with:
62-
python-version: ${{ inputs.python_version }}
63-
- name: Install uv
64-
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
65-
- name: Override constraints
66-
if: ${{ inputs.override_requirements != '' }}
67-
run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
68-
shell: bash
69-
- name: Install NNCF and test requirements
70-
run: uv pip install --system . -r tests/onnx/requirements.txt
71-
- name: Print installed modules
72-
run: pip list
73-
- name: Run ONNX precommit test scope
74-
run: make test-onnx
75-
env:
76-
NUM_WORKERS: 4
50+
# onnx:
51+
# timeout-minutes: 40
52+
# runs-on: ubuntu-latest-8-cores
53+
# defaults:
54+
# run:
55+
# shell: bash
56+
# steps:
57+
# - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
58+
# with:
59+
# lfs: true
60+
# - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
61+
# with:
62+
# python-version: ${{ inputs.python_version }}
63+
# - name: Install uv
64+
# uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
65+
# - name: Override constraints
66+
# if: ${{ inputs.override_requirements != '' }}
67+
# run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
68+
# shell: bash
69+
# - name: Install NNCF and test requirements
70+
# run: uv pip install --system . -r tests/onnx/requirements.txt
71+
# - name: Print installed modules
72+
# run: pip list
73+
# - name: Run ONNX precommit test scope
74+
# run: make test-onnx
75+
# env:
76+
# NUM_WORKERS: 4
7777

78-
openvino:
79-
timeout-minutes: 40
80-
runs-on: ubuntu-latest-8-cores
81-
defaults:
82-
run:
83-
shell: bash
84-
steps:
85-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
86-
with:
87-
lfs: true
88-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
89-
with:
90-
python-version: ${{ inputs.python_version }}
91-
- name: Install uv
92-
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
93-
- name: Override constraints
94-
if: ${{ inputs.override_requirements != '' }}
95-
run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
96-
shell: bash
97-
- name: Install NNCF and test requirements
98-
run: uv pip install --system . -r tests/openvino/requirements.txt
99-
- name: Print installed modules
100-
run: pip list
101-
- name: Run OV precommit test scope
102-
run: make test-openvino
103-
env:
104-
NUM_WORKERS: 4
78+
# openvino:
79+
# timeout-minutes: 40
80+
# runs-on: ubuntu-latest-8-cores
81+
# defaults:
82+
# run:
83+
# shell: bash
84+
# steps:
85+
# - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
86+
# with:
87+
# lfs: true
88+
# - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
89+
# with:
90+
# python-version: ${{ inputs.python_version }}
91+
# - name: Install uv
92+
# uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
93+
# - name: Override constraints
94+
# if: ${{ inputs.override_requirements != '' }}
95+
# run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
96+
# shell: bash
97+
# - name: Install NNCF and test requirements
98+
# run: uv pip install --system . -r tests/openvino/requirements.txt
99+
# - name: Print installed modules
100+
# run: pip list
101+
# - name: Run OV precommit test scope
102+
# run: make test-openvino
103+
# env:
104+
# NUM_WORKERS: 4
105+
106+
# tools:
107+
# timeout-minutes: 40
108+
# runs-on: ubuntu-latest
109+
# defaults:
110+
# run:
111+
# shell: bash
112+
# steps:
113+
# - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
114+
# with:
115+
# lfs: true
116+
# - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
117+
# with:
118+
# python-version: ${{ inputs.python_version }}
119+
# - name: Install uv
120+
# uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
121+
# - name: Install test requirements
122+
# run: uv pip install --system . -r tests/tools/requirements.txt
123+
# - name: Print installed modules
124+
# run: pip list
125+
# - name: Run tools precommit test scope
126+
# run: pytest -ra tests/tools
127+
128+
# pytorch-cpu:
129+
# timeout-minutes: 40
130+
# runs-on: ubuntu-latest
131+
# # TODO(AlexanderDokuchaev): Enable with torchao=0.18.0 release
132+
# if: ${{ inputs.python_version != '3.14' }}
133+
# defaults:
134+
# run:
135+
# shell: bash
136+
# steps:
137+
# - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
138+
# with:
139+
# lfs: true
140+
# - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
141+
# with:
142+
# python-version: ${{ inputs.python_version }}
143+
# - name: Install uv
144+
# uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
145+
# - name: Override constraints
146+
# if: ${{ inputs.override_requirements != '' }}
147+
# run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
148+
# shell: bash
149+
# - name: Install NNCF and test requirements
150+
# run: uv pip install --system . -r tests/torch/requirements.txt
151+
# - name: Print installed modules
152+
# run: pip list
153+
# - name: Run torch precommit test scope
154+
# run: pytest -ra -n2 --durations=30 tests/torch -m "not cuda"
155+
156+
# pytorch-cuda:
157+
# timeout-minutes: 40
158+
# runs-on: aks-linux-6-cores-55gb-gpu-a10
159+
# if: ${{ inputs.gpu_enabled == true }}
160+
# defaults:
161+
# run:
162+
# shell: bash
163+
# env:
164+
# DEBIAN_FRONTEND: noninteractive
165+
# steps:
166+
# - name: Install dependencies
167+
# run : |
168+
# sudo apt-get update
169+
# sudo apt-get --assume-yes install build-essential ninja-build libgl1-mesa-dev libglib2.0-0 wget make
170+
# - name: Download CUDA
171+
# run: |
172+
# wget -q https://developer.download.nvidia.com/compute/cuda/13.2.1/local_installers/cuda_13.2.1_595.58.03_linux.run
173+
# sudo sh cuda_13.2.1_595.58.03_linux.run --toolkit --silent
174+
# - name: Runner info
175+
# continue-on-error: true
176+
# run: |
177+
# nvidia-smi
178+
# cat /proc/cpuinfo
179+
# - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
180+
# with:
181+
# lfs: true
182+
# - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
183+
# with:
184+
# python-version: ${{ inputs.python_version }}
185+
# - name: Install uv
186+
# uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
187+
# - name: Override constraints
188+
# if: ${{ inputs.override_requirements != '' }}
189+
# run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
190+
# shell: bash
191+
# - name: Install NNCF and test requirements
192+
# run: uv pip install --system . -r tests/torch/requirements.txt
193+
# - name: Print installed modules
194+
# run: pip list
195+
# - name: Check CUDA
196+
# run: |
197+
# python -c "import torch; print(torch.cuda.is_available())"
198+
# - name: Run PyTorch precommit test scope
199+
# run: |
200+
# pytest -ra --durations=30 tests/torch -m cuda
105201

106-
tools:
107-
timeout-minutes: 40
108-
runs-on: ubuntu-latest
109-
defaults:
110-
run:
111-
shell: bash
112-
steps:
113-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
114-
with:
115-
lfs: true
116-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
117-
with:
118-
python-version: ${{ inputs.python_version }}
119-
- name: Install uv
120-
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
121-
- name: Install test requirements
122-
run: uv pip install --system . -r tests/tools/requirements.txt
123-
- name: Print installed modules
124-
run: pip list
125-
- name: Run tools precommit test scope
126-
run: pytest -ra tests/tools
127202

128-
pytorch-cpu:
129-
timeout-minutes: 40
130-
runs-on: ubuntu-latest
131-
# TODO(AlexanderDokuchaev): Enable with torchao=0.18.0 release
132-
if: ${{ inputs.python_version != '3.14' }}
133-
defaults:
134-
run:
135-
shell: bash
136-
steps:
137-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
138-
with:
139-
lfs: true
140-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
141-
with:
142-
python-version: ${{ inputs.python_version }}
143-
- name: Install uv
144-
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
145-
- name: Override constraints
146-
if: ${{ inputs.override_requirements != '' }}
147-
run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
148-
shell: bash
149-
- name: Install NNCF and test requirements
150-
run: uv pip install --system . -r tests/torch/requirements.txt
151-
- name: Print installed modules
152-
run: pip list
153-
- name: Run torch precommit test scope
154-
run: pytest -ra -n2 --durations=30 tests/torch -m "not cuda"
155203

156204
pytorch-cuda:
157205
timeout-minutes: 40
158-
runs-on: aks-linux-6-cores-55gb-gpu-a10
206+
runs-on:
207+
group: Nvidia-GPU
208+
labels: [Linux, NNCF]
159209
if: ${{ inputs.gpu_enabled == true }}
210+
container:
211+
image: ubuntu:22.04
212+
options: --gpus all --ipc=host
160213
defaults:
161214
run:
162215
shell: bash
163216
env:
164217
DEBIAN_FRONTEND: noninteractive
165218
steps:
166-
- name: Install dependencies
167-
run : |
168-
sudo apt-get update
169-
sudo apt-get --assume-yes install build-essential ninja-build libgl1-mesa-dev libglib2.0-0 wget make
170-
- name: Download CUDA
171-
run: |
172-
wget -q https://developer.download.nvidia.com/compute/cuda/13.2.1/local_installers/cuda_13.2.1_595.58.03_linux.run
173-
sudo sh cuda_13.2.1_595.58.03_linux.run --toolkit --silent
174219
- name: Runner info
175-
continue-on-error: true
176-
run: |
177-
nvidia-smi
178-
cat /proc/cpuinfo
179-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
180-
with:
181-
lfs: true
182-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
183-
with:
184-
python-version: ${{ inputs.python_version }}
185-
- name: Install uv
186-
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
187-
- name: Override constraints
188-
if: ${{ inputs.override_requirements != '' }}
189-
run: python .github/scripts/override_constraints.py "${{ inputs.override_requirements }}"
190-
shell: bash
191-
- name: Install NNCF and test requirements
192-
run: uv pip install --system . -r tests/torch/requirements.txt
193-
- name: Print installed modules
194-
run: pip list
195-
- name: Check CUDA
196-
run: |
197-
python -c "import torch; print(torch.cuda.is_available())"
198-
- name: Run PyTorch precommit test scope
199-
run: |
200-
pytest -ra --durations=30 tests/torch -m cuda
220+
run : |
221+
nvidia-smi || true
222+
cat /proc/cpuinfo || true

0 commit comments

Comments
 (0)