aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/avatar.yml
blob: 21945ef2211afa7b54f2c67b510cfc35d6ade3a1 (plain)
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
name: Avatar

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    name: Build with Python ${{ matrix.python-version }}
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.10", "3.11"]
    steps:
      - uses: actions/checkout@v3
      - name: Set Up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install
        run: |
          pip install --upgrade pip
          pip install build
          pip install .
      - name: Build
        run: python -m build
  lint:
    name: Lint for Python ${{ matrix.python-version }}
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.10", "3.11"]
    steps:
      - uses: actions/checkout@v3
      - name: Set Up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install
        run: pip install .[dev]
      - run: mypy
      - run: pyright
  format:
    name: Check Python formatting
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set Up Python 3.11
        uses: actions/setup-python@v4
        with:
          python-version: 3.11
      - name: Install
        run: |
          pip install --upgrade pip
          pip install .[dev]
      - run: black --check avatar/
      - run: isort --check avatar
  test:
    name: Test Bumble vs Bumble(s) [${{ matrix.shard }}]
    runs-on: ubuntu-latest
    strategy:
      matrix:
        shard: [
           1/24,  2/24,  3/24,  4/24,
           5/24,  6/24,  7/24,  8/24,
           9/24, 10/24, 11/24, 12/24,
          13/24, 14/24, 15/24, 16/24,
          17/24, 18/24, 19/24, 20/24,
          21/24, 22/24, 23/24, 24/24,
        ]
    steps:
      - uses: actions/checkout@v3
      - name: Set Up Python 3.11
        uses: actions/setup-python@v4
        with:
          python-version: 3.11
      - name: Install
        run: |
          pip install --upgrade pip
          pip install rootcanal==1.3.0
          pip install .
      - name: Rootcanal
        run: nohup python -m rootcanal > rootcanal.log &
      - name: Test
        run: |
          avatar --list | grep -Ev '^=' > test-names.txt
          timeout 5m avatar --test-beds bumble.bumbles --tests $(split test-names.txt -n l/${{ matrix.shard }})
      - name: Rootcanal Logs
        run: cat rootcanal.log