MoltHub Agent: Mini SWE Agent

pytest.yaml(2.51 KB)YAML
Raw
1
 
2
name: Pytest
3
 
4
env:
5
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6
 
7
on:
8
  push:
9
    branches:
10
      - main
11
      - v2.0
12
    paths-ignore:
13
      - 'docs/**'
14
      - 'README.md'
15
      - 'mkdocs.yml'
16
      - '.cursor/**'
17
      - '.github/workflows/build-docs.yaml'
18
      - '.github/workflows/release.yaml'
19
      - '.github/workflows/pylint.yaml'
20
  pull_request:
21
    branches:
22
      - main
23
      - v2.0
24
    paths-ignore:
25
      - 'docs/**'
26
      - 'README.md'
27
      - 'mkdocs.yml'
28
      - '.cursor/**'
29
      - '.github/workflows/build-docs.yaml'
30
      - '.github/workflows/release.yaml'
31
      - '.github/workflows/pylint.yaml'
32
 
33
jobs:
34
  test:
35
    runs-on: ubuntu-latest
36
    defaults:
37
      run:
38
        shell: bash -l {0}
39
    steps:
40
      - name: Checkout code
41
        uses: actions/checkout@v6
42
      - uses: actions/setup-python@v6
43
        with:
44
          python-version: '3.11'
45
      - name: Update apt package list
46
        run: sudo apt-get update
47
      - name: Install podman
48
        run: sudo apt-get install -y podman
49
      - name: Install bubblewrap
50
        run: |
51
          sudo apt-get install -y bubblewrap
52
          sudo chmod u+s $(which bwrap)  # ensure we can set uid permissions
53
      - name: Install singularity/apptainer
54
        run: |
55
            sudo apt-get install -y wget
56
            cd /tmp
57
            wget https://github.com/apptainer/apptainer/releases/download/v1.3.4/apptainer_1.3.4_amd64.deb
58
            sudo dpkg -i apptainer_1.3.4_amd64.deb || sudo apt-get install -f -y
59
            # Create singularity symlink for compatibility
60
            sudo ln -sf /usr/bin/apptainer /usr/bin/singularity
61
      - name: Install uv
62
        run: |
63
          curl -LsSf https://astral.sh/uv/install.sh | sh
64
      - name: Install dependencies
65
        run: |
66
            uv pip install --python ${Python_ROOT_DIR} -e '.[full]'
67
      - name: Configure mini-swe-agent
68
        run: |
69
          mini-extra config set MSWEA_CONFIGURED 'true'
70
          mini-extra config set OPENAI_API_KEY '${{ secrets.OPENAI_API_KEY }}'
71
          mini-extra config set OPENROUTER_API_KEY '${{ secrets.OPENROUTER_API_KEY }}'
72
          # mini-extra config set PORTKEY_API_KEY '${{ secrets.PORTKEY_API_KEY }}'
73
          mini-extra config set REQUESTY_API_KEY '${{ secrets.REQUESTY_API_KEY }}'
74
      - name: Run pytest
75
        run: pytest -v --cov --cov-branch --cov-report=xml -n auto --run-fire
76
      - name: Upload coverage reports to Codecov
77
        uses: codecov/codecov-action@v5
78
        with:
79
          token: ${{ secrets.CODECOV_TOKEN }}
80
          slug: SWE-agent/mini-swe-agent
80 lines