Skip to content

feat: added tmux terminal tool, major tools refactor #435

feat: added tmux terminal tool, major tools refactor

feat: added tmux terminal tool, major tools refactor #435

Workflow file for this run

name: Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
jobs:
build:
name: Test ${{ matrix.os }} with `${{ matrix.extras }}` on ${{ matrix.provider }}
runs-on: ${{ matrix.os }}
env:
RELEASE: false
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python_version: ['3.10']
extras: ['-E server', '-E browser', '-E all']
provider: ['openai']
include:
- os: ubuntu-latest
python_version: '3.10'
extras: '-E all'
provider: 'anthropic'
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install ctags and pandoc
run: sudo apt install universal-ctags pandoc
- name: Install poetry
run: |
pipx install poetry
echo "${{ matrix.extras }}" > .extras-cache
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version }}
cache: 'poetry'
cache-dependency-path: |
poetry.lock
.extras-cache
- name: Install dependencies
run: |
make build
poetry install ${{ matrix.extras }}
- name: Install playwright
if: contains(matrix.extras, 'browser') || contains(matrix.extras, 'all')
run: poetry run playwright install
# OpenAI sometimes randomly aborts connections, so we retry once
- name: Run tests
uses: nick-fields/retry@v2
env:
TERM: xterm
PROVIDER: ${{ matrix.provider }}
with:
timeout_minutes: 5
max_attempts: 2
retry_wait_seconds: 10
command: make test SLOW=true
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'poetry'
- name: Install dependencies
run: |
make build
poetry install
- name: Check for lint
run: |
make lint
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'poetry'
- name: Install dependencies
run: |
make build
poetry install
- name: Typecheck
run: |
make typecheck