aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/autogpts-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/autogpts-ci.yml')
-rw-r--r--.github/workflows/autogpts-ci.yml68
1 files changed, 68 insertions, 0 deletions
diff --git a/.github/workflows/autogpts-ci.yml b/.github/workflows/autogpts-ci.yml
new file mode 100644
index 000000000..0385470ac
--- /dev/null
+++ b/.github/workflows/autogpts-ci.yml
@@ -0,0 +1,68 @@
+name: AutoGPTs smoke test CI
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '0 8 * * *'
+ push:
+ branches: [ master, development, ci-test* ]
+ paths:
+ - '.github/workflows/autogpts-ci.yml'
+ - 'autogpts/**'
+ - 'benchmark/**'
+ - 'run'
+ - 'cli.py'
+ - 'setup.py'
+ - '!**/*.md'
+ pull_request:
+ branches: [ master, development, release-* ]
+ paths:
+ - '.github/workflows/autogpts-ci.yml'
+ - 'autogpts/**'
+ - 'benchmark/**'
+ - 'run'
+ - 'cli.py'
+ - 'setup.py'
+ - '!**/*.md'
+
+jobs:
+ run-tests:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ agent-name: [ autogpt, forge ]
+ fail-fast: false
+ timeout-minutes: 20
+ env:
+ min-python-version: '3.10'
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ 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/${{ matrix.agent-name }}/
+ run: |
+ curl -sSL https://install.python-poetry.org | python -
+
+ - name: Run regression tests
+ run: |
+ ./run agent start ${{ matrix.agent-name }}
+ cd autogpts/${{ matrix.agent-name }}
+ poetry run agbenchmark --mock
+ poetry run agbenchmark --test=WriteFile
+ 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) }}