-
Notifications
You must be signed in to change notification settings - Fork 1
42 lines (42 loc) · 1.47 KB
/
test-user-push.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
name: User mode
on:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]
jobs:
test:
name: User-level Omnistat (push/victoria)
runs-on: ubuntu-22.04
strategy:
matrix:
execution: [ source ]
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Comment out GPU devices (not available in GitHub)
run: sed -i "/devices:/,+2 s/^/#/" test/docker/slurm/compose.yaml
- name: Disable SMI collector (won't work in GitHub)
run: >
sed -i "s/enable_rocm_smi = True/enable_rocm_smi = False/" \
test/docker/slurm/omnistat-user.config
- name: Start containerized environment
env:
TEST_OMNISTAT_EXECUTION: ${{ matrix.execution }}
run: docker compose -f test/docker/slurm/compose.yaml -f test/docker/slurm/compose-user.yaml up -d
- name: Wait for user-level Omnistat
run: >
timeout 5m bash -c \
'for i in controller node1 node2; do \
until [[ $(docker logs -n 1 slurm-$i) == READY ]]; do \
echo "Waiting for $i..."; \
sleep 5; \
done \
done'
- name: Display node logs
run: for i in node1 node2; do docker logs slurm-$i; done
- name: Install test dependencies
run: pip3 install -r test/requirements.txt
- name: Run tests
working-directory: ./test
run: pytest -s -v test_job_user_push.py