AutoGPTs CI (#5216)

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
This commit is contained in:
merwanehamadi
2023-09-14 08:29:04 -07:00
committed by GitHub
parent 0ee7209c2b
commit 35e0184ca9
34 changed files with 321 additions and 226 deletions

56
.github/workflows/autogpts-ci.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: AutoGPTs CI
on:
workflow_dispatch:
branches: [master]
schedule:
- cron: '0 8 * * *'
push:
branches: [master, ci-test*]
paths:
- 'autogpts/forge/**'
- '.github/workflows/autogpts-ci.yml'
pull_request:
branches: [stable, master, release-*]
paths:
- 'autogpts/forge/**'
- '.github/workflows/autogpts-ci.yml'
jobs:
agent-protocol-test:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true
- name: Set up Python ${{ env.min-python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ env.min-python-version }}
- name: Install Poetry
working-directory: ./autogpts/forge/
run: |
curl -sSL https://install.python-poetry.org | python -
- name: Run regression tests
working-directory: ./autogpts/forge/
run: |
sh run_agent.sh
URL=http://127.0.0.1:8000 bash -c "$(curl -fsSL https://raw.githubusercontent.com/AI-Engineers-Foundation/agent-protocol/main/testing_suite/test.sh)"
poetry run agbenchmark start --mock
poetry run agbenchmark start --test=TestWriteFile
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
AGENT_NAME: ${{ matrix.agent-name }}
HELICONE_API_KEY: ${{ secrets.HELICONE_API_KEY }}
REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
HELICONE_CACHE_ENABLED: false
HELICONE_PROPERTY_AGENT: ${{ matrix.agent-name }}
REPORT_LOCATION: ${{ format('../../reports/{0}', matrix.agent-name) }}

View File

@@ -1,103 +0,0 @@
name: Forge CI
on:
workflow_dispatch:
branches: [master]
schedule:
- cron: '0 8 * * *'
push:
branches: [master, ci-test*]
paths:
- 'forge/**'
- '.github/workflows/forge-ci.yml'
pull_request:
branches: [stable, master, release-*]
paths:
- 'forge/**'
- '.github/workflows/forge-ci.yml'
jobs:
lint:
runs-on: ubuntu-latest
env:
min-python-version: '3.10'
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true
- name: Set up Python ${{ env.min-python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ env.min-python-version }}
- name: Install Poetry
working-directory: ./forge/
run: |
curl -sSL https://install.python-poetry.org | python -
- name: Install dependencies
working-directory: ./forge/
run: |
poetry install
- name: Lint with flake8
working-directory: ./forge/
run: poetry run flake8
- name: Check black formatting
working-directory: ./forge/
run: poetry run black . --exclude test.py --check
if: success() || failure()
- name: Check isort formatting
working-directory: ./forge/
run: poetry run isort . --check
if: success() || failure()
agent-protocol-test:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true
- name: Set up Python ${{ env.min-python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ env.min-python-version }}
- name: Install Poetry
working-directory: ./forge/
run: |
curl -sSL https://install.python-poetry.org | python -
- name: Install dependencies
working-directory: ./forge/
run: |
poetry install
- name: Run regression tests
working-directory: ./forge/
run: |
cp .env.example .env
poetry run python -m autogpt &
URL=http://127.0.0.1:8000 bash -c "$(curl -fsSL https://raw.githubusercontent.com/AI-Engineers-Foundation/agent-protocol/main/testing_suite/test.sh)"
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
AGENT_NAME: ${{ matrix.agent-name }}
HELICONE_API_KEY: ${{ secrets.HELICONE_API_KEY }}
REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
HELICONE_CACHE_ENABLED: false
HELICONE_PROPERTY_AGENT: ${{ matrix.agent-name }}
REPORT_LOCATION: ${{ format('../../reports/{0}', matrix.agent-name) }}