• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: Python
2
3on:
4  push:
5    branches: [ main ]
6  pull_request:
7    branches: [ main ]
8
9jobs:
10  build:
11    name: Build with Python ${{ matrix.python-version }}
12    runs-on: ubuntu-latest
13    strategy:
14      matrix:
15        python-version: ["3.8", "3.9", "3.10", "3.11"]
16    steps:
17      - uses: actions/checkout@v3
18      - name: Set Up Python ${{ matrix.python-version }}
19        uses: actions/setup-python@v4
20        with:
21          python-version: ${{ matrix.python-version }}
22      - name: Install
23        run: |
24          pip install --upgrade pip
25          pip install build
26          pip install ./python
27      - name: Build
28        run: python -m build ./python
29  lint:
30    name: Lint for Python ${{ matrix.python-version }}
31    runs-on: ubuntu-latest
32    strategy:
33      matrix:
34        python-version: ["3.8", "3.9", "3.10", "3.11"]
35    steps:
36      - uses: actions/checkout@v3
37      - name: Set Up Python ${{ matrix.python-version }}
38        uses: actions/setup-python@v4
39        with:
40          python-version: ${{ matrix.python-version }}
41      - name: Install
42        run: pip install ./python[dev]
43      - run: pyright -p ./python
44  test:
45    name: Avatar Bumble vs Bumble(s) [${{ matrix.shard }}]
46    runs-on: ubuntu-latest
47    strategy:
48      matrix:
49        shard: [
50           1/24,  2/24,  3/24,  4/24,
51           5/24,  6/24,  7/24,  8/24,
52           9/24, 10/24, 11/24, 12/24,
53          13/24, 14/24, 15/24, 16/24,
54          17/24, 18/24, 19/24, 20/24,
55          21/24, 22/24, 23/24, 24/24,
56        ]
57    steps:
58      - uses: actions/checkout@v3
59      - name: Set Up Python 3.11
60        uses: actions/setup-python@v4
61        with:
62          python-version: 3.11
63      - name: Install
64        run: |
65          pip install --upgrade pip
66          pip install rootcanal
67          pip install pandora-avatar
68          pip install ./python
69      - name: Rootcanal
70        run: nohup python -m rootcanal > rootcanal.log &
71      - name: Test
72        run: |
73          avatar --list | grep -Ev '^=' > test-names.txt
74          timeout 5m avatar --test-beds bumble.bumbles --tests $(split test-names.txt -n l/${{ matrix.shard }})
75      - name: Rootcanal Logs
76        run: cat rootcanal.log