Skip to content

Commit 059d3b3

Browse files
[autorevert] add mocked tests for autorevert functionality (#7026)
Added mocked unit tests, manually ensured that when key invariants are broken, tests fail. Added workflow to test autorevert module. ### Testing * see [this job](https://github.com/pytorch/test-infra/actions/runs/17057797640/job/48358574501?pr=7026) --------- Co-authored-by: Jean Schmidt <[email protected]>
1 parent 46a680f commit 059d3b3

File tree

7 files changed

+521
-0
lines changed

7 files changed

+521
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Test pytorch-auto-revert lambda
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- .github/workflows/pytorch-auto-revert-tests.yml
7+
- aws/lambda/pytorch-auto-revert/**
8+
push:
9+
branches:
10+
- main
11+
paths:
12+
- .github/workflows/pytorch-auto-revert-tests.yml
13+
- aws/lambda/pytorch-auto-revert/**
14+
15+
defaults:
16+
run:
17+
working-directory: aws/lambda/pytorch-auto-revert/
18+
19+
jobs:
20+
test:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
24+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
25+
with:
26+
python-version: '3.11'
27+
cache: pip
28+
- name: Install virtualenv
29+
run: pip install virtualenv==20.34.0
30+
- name: Run autorevert tests
31+
env:
32+
# GitHub provides this automatically; used by workflow_resolver tests
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
run: |
35+
make test

aws/lambda/pytorch-auto-revert/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,7 @@ create-deployment-package: deployment.zip
4343
lintrunner: venv/bin/lintrunner
4444
# lintrunner only works properly with virtualenv if you activate it first
4545
. venv/bin/activate && lintrunner -a -v --force-color --config ../../../.lintrunner.toml --paths-cmd='git grep -Il .'
46+
47+
.PHONY: test
48+
test: venv/bin/python
49+
venv/bin/python -m unittest discover -vs pytorch_auto_revert/tests -p 'test_*.py'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[
2+
[999999999, "Automated revert triggered. -c ghfirst"]
3+
]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[
2+
["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "Nightly: update submodules", "2025-01-02T14:00:00"],
3+
["bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "Revert \"Some change\"\n\nThis reverts commit bbc0df1094b5a4dcd2cce83f8402127b07913231.\n\nMore context: https://github.com/pytorch/pytorch/pull/123#issuecomment-999999999 -c ghfirst", "2025-01-02T13:30:00"],
4+
["bbc0df1094b5a4dcd2cce83f8402127b07913231", "Introduce change that breaks ROCm shard2", "2025-01-02T11:00:00"],
5+
["33ec6e3e9aa2b93f7d907236aa10ba2b36355018", "Previous good commit", "2025-01-02T10:00:00"],
6+
["4fd5fabee9b2641440a413adf54f728fe2816375", "Newer commit with flakiness", "2025-01-02T12:00:00"]
7+
]
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[
2+
["trunk","4fd5fabee9b2641440a413adf54f728fe2816375","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-02T12:00:00"],
3+
["trunk","4fd5fabee9b2641440a413adf54f728fe2816375","linux-jammy-rocm-py3.10 / test (default, 1, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T12:00:10"],
4+
["trunk","4fd5fabee9b2641440a413adf54f728fe2816375","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T12:00:20"],
5+
["trunk","4fd5fabee9b2641440a413adf54f728fe2816375","linux-jammy-rocm-py3.10 / test (default, 3, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T12:00:30"],
6+
["trunk","4fd5fabee9b2641440a413adf54f728fe2816375","linux-jammy-rocm-py3.10 / test (default, 4, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T12:00:40"],
7+
["trunk","4fd5fabee9b2641440a413adf54f728fe2816375","linux-jammy-rocm-py3.10 / test (default, 5, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-02T12:00:50"],
8+
["trunk","4fd5fabee9b2641440a413adf54f728fe2816375","linux-jammy-rocm-py3.10 / test (default, 6, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T12:01:00"],
9+
["trunk","bbc0df1094b5a4dcd2cce83f8402127b07913231","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-02T11:00:00"],
10+
["trunk","bbc0df1094b5a4dcd2cce83f8402127b07913231","linux-jammy-rocm-py3.10 / test (default, 1, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T11:00:10"],
11+
["trunk","bbc0df1094b5a4dcd2cce83f8402127b07913231","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-02T11:00:20"],
12+
["trunk","bbc0df1094b5a4dcd2cce83f8402127b07913231","linux-jammy-rocm-py3.10 / test (default, 3, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T11:00:30"],
13+
["trunk","bbc0df1094b5a4dcd2cce83f8402127b07913231","linux-jammy-rocm-py3.10 / test (default, 4, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T11:00:40"],
14+
["trunk","bbc0df1094b5a4dcd2cce83f8402127b07913231","linux-jammy-rocm-py3.10 / test (default, 5, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T11:00:50"],
15+
["trunk","bbc0df1094b5a4dcd2cce83f8402127b07913231","linux-jammy-rocm-py3.10 / test (default, 6, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T11:01:00"],
16+
["trunk","33ec6e3e9aa2b93f7d907236aa10ba2b36355018","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-02T10:00:00"],
17+
["trunk","33ec6e3e9aa2b93f7d907236aa10ba2b36355018","linux-jammy-rocm-py3.10 / test (default, 1, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T10:00:10"],
18+
["trunk","33ec6e3e9aa2b93f7d907236aa10ba2b36355018","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T10:00:20"],
19+
["trunk","33ec6e3e9aa2b93f7d907236aa10ba2b36355018","linux-jammy-rocm-py3.10 / test (default, 3, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T10:00:30"],
20+
["trunk","33ec6e3e9aa2b93f7d907236aa10ba2b36355018","linux-jammy-rocm-py3.10 / test (default, 4, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T10:00:40"],
21+
["trunk","33ec6e3e9aa2b93f7d907236aa10ba2b36355018","linux-jammy-rocm-py3.10 / test (default, 5, 6, linux.rocm.gpu.2)","success","completed","GHA error","2025-01-02T10:00:50"],
22+
["trunk","33ec6e3e9aa2b93f7d907236aa10ba2b36355018","linux-jammy-rocm-py3.10 / test (default, 6, 6, linux.rocm.gpu.2)","success","completed","pytest failure","2025-01-02T10:01:00"],
23+
24+
["trunk-pending","1111111111111111111111111111111111111111","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-03T12:00:00"],
25+
["trunk-pending","1111111111111111111111111111111111111111","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-03T12:00:10"],
26+
["trunk-pending","2222222222222222222222222222222222222222","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-03T11:00:00"],
27+
["trunk-pending","2222222222222222222222222222222222222222","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-03T11:00:10"],
28+
["trunk-pending","3333333333333333333333333333333333333333","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-03T10:00:00"],
29+
["trunk-pending","3333333333333333333333333333333333333333","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","success","in_progress","","2025-01-03T10:00:10"],
30+
31+
["trunk-baseline-fails","4444444444444444444444444444444444444444","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-04T12:00:00"],
32+
["trunk-baseline-fails","4444444444444444444444444444444444444444","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-04T12:00:10"],
33+
["trunk-baseline-fails","5555555555555555555555555555555555555555","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-04T11:00:00"],
34+
["trunk-baseline-fails","5555555555555555555555555555555555555555","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-04T11:00:10"],
35+
["trunk-baseline-fails","6666666666666666666666666666666666666666","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-04T10:00:00"],
36+
["trunk-baseline-fails","6666666666666666666666666666666666666666","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-04T10:00:10"],
37+
38+
["trunk-one-failure","7777777777777777777777777777777777777777","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-05T12:00:00"],
39+
["trunk-one-failure","7777777777777777777777777777777777777777","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","failure","completed","pytest failure","2025-01-05T12:00:10"],
40+
["trunk-one-failure","8888888888888888888888888888888888888888","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-05T11:00:00"],
41+
["trunk-one-failure","8888888888888888888888888888888888888888","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","success","completed","","2025-01-05T11:00:10"],
42+
["trunk-one-failure","9999999999999999999999999999999999999999","linux-jammy-rocm-py3.10 / build","success","completed","","2025-01-05T10:00:00"],
43+
["trunk-one-failure","9999999999999999999999999999999999999999","linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)","success","completed","","2025-01-05T10:00:10"]
44+
]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"bbc0df1094b5a4dcd2cce83f8402127b07913231": [
3+
["linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)", "failure", "completed", "pytest failure", "2025-01-02T13:10:00"],
4+
["linux-jammy-rocm-py3.10 / build", "success", "completed", "", "2025-01-02T13:00:00"]
5+
],
6+
"33ec6e3e9aa2b93f7d907236aa10ba2b36355018": [
7+
["linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)", "success", "completed", "pytest failure", "2025-01-02T12:10:00"],
8+
["linux-jammy-rocm-py3.10 / build", "success", "completed", "", "2025-01-02T12:00:00"]
9+
],
10+
"pending_prev": [
11+
["linux-jammy-rocm-py3.10 / test (default, 2, 6, linux.rocm.gpu.2)", "success", "in_progress", "", "2025-01-02T12:10:00"]
12+
]
13+
}

0 commit comments

Comments
 (0)