Add CI to the forge

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
This commit is contained in:
Merwane Hamadi
2023-09-11 15:59:59 -07:00
parent 5f82c7533c
commit cd4589d4d9
5 changed files with 127 additions and 15 deletions

View File

@@ -17,6 +17,9 @@ on:
- '!benchmark/reports/**'
pull_request:
branches: [stable, master, release-*]
paths:
- 'benchmark/**'
- '!benchmark/reports/**'
jobs:
lint:

103
.github/workflows/forge-ci.yml vendored Normal file
View File

@@ -0,0 +1,103 @@
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) }}