Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
ZackBradshaw authored Oct 25, 2023
2 parents b98e63d + 89d333f commit e06f8e4
Show file tree
Hide file tree
Showing 452 changed files with 66,393 additions and 60,692 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
frontend/build/* linguist-generated

**/poetry.lock linguist-generated
25 changes: 4 additions & 21 deletions .github/workflows/autogpt-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,20 @@ name: AutoGPT Python CI

on:
push:
branches: [ master, ci-test* ]
branches: [ master, development, ci-test* ]
paths:
- 'autogpts/autogpt/**'
- '!autogpts/autogpt/tests/vcr_cassettes'
- '!autogpts/autogpt/tests/challenges/current_score.json'
pull_request:
branches: [ stable, master, release-* ]
branches: [ master, development, release-* ]
paths:
- 'autogpts/autogpt/**'
- '!autogpts/autogpt/tests/vcr_cassettes'
- '!autogpts/autogpt/tests/challenges/current_score.json'
pull_request_target:
branches: [ master, release-*, ci-test* ]
branches: [ master, development, release-*, ci-test* ]
paths:
- 'autogpts/autogpt/**'
- '!autogpts/autogpt/tests/vcr_cassettes'
- '!autogpts/autogpt/tests/challenges/current_score.json'

concurrency:
group: ${{ format('autogpt-ci-{0}', github.head_ref && format('{0}-{1}', github.event_name, github.event.pull_request.number) || github.sha) }}
Expand Down Expand Up @@ -169,8 +166,7 @@ jobs:
poetry run pytest -vv \
--cov=autogpt --cov-branch --cov-report term-missing --cov-report xml \
--numprocesses=logical --durations=10 \
tests/unit tests/integration tests/challenges
poetry run python tests/challenges/utils/build_current_score.py
tests/unit tests/integration
env:
CI: true
PROXY: ${{ github.event_name == 'pull_request_target' && secrets.PROXY || '' }}
Expand Down Expand Up @@ -199,19 +195,6 @@ jobs:
echo "config_key=$config_key" >> $GITHUB_OUTPUT
- name: Push updated challenge scores
if: github.event_name == 'push'
run: |
score_file="tests/challenges/current_score.json"
if ! git diff --quiet $score_file; then
git add $score_file
git commit -m "Update challenge scores"
git push origin HEAD:${{ github.ref_name }}
else
echo "The challenge scores didn't change."
fi
- id: push_cassettes
name: Push updated cassettes
# For pull requests, push updated cassettes even when tests fail
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/autogpt-docker-cache-clean.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
- cron: 20 4 * * 1,4

env:
BASE_BRANCH: master
BASE_BRANCH: development
IMAGE_NAME: auto-gpt

jobs:
Expand All @@ -25,6 +25,7 @@ jobs:
name: Build image
uses: docker/build-push-action@v3
with:
context: autogpts/autogpt
build-args: BUILD_TYPE=${{ matrix.build-type }}
load: true # save to docker images
# use GHA cache as read-only
Expand All @@ -37,10 +38,10 @@ jobs:

build_type: ${{ matrix.build-type }}

prod_branch: stable
dev_branch: master
prod_branch: master
dev_branch: development
repository: ${{ github.repository }}
base_branch: ${{ github.ref_name != 'master' && github.ref_name != 'stable' && 'master' || 'stable' }}
base_branch: ${{ github.ref_name != 'master' && github.ref_name != 'development' && 'development' || 'master' }}

current_ref: ${{ github.ref_name }}
commit_hash: ${{ github.sha }}
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/autogpt-docker-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,15 @@ name: AutoGPT Docker CI

on:
push:
branches: [ master ]
branches: [ master, development ]
paths:
- 'autogpts/autogpt/**'
- '!autogpts/autogpt/tests/vcr_cassettes'
- '!autogpts/autogpt/tests/challenges/current_score.json'
pull_request:
branches: [ master, release-*, stable ]
branches: [ master, development, release-* ]
paths:
- 'autogpts/autogpt/**'
- '!autogpts/autogpt/tests/vcr_cassettes'
- '!autogpts/autogpt/tests/challenges/current_score.json'

concurrency:
group: ${{ format('autogpt-docker-ci-{0}', github.head_ref && format('pr-{0}', github.event.pull_request.number) || github.sha) }}
Expand Down Expand Up @@ -63,10 +61,10 @@ jobs:

build_type: ${{ matrix.build-type }}

prod_branch: stable
dev_branch: master
prod_branch: master
dev_branch: development
repository: ${{ github.repository }}
base_branch: ${{ github.ref_name != 'master' && github.ref_name != 'stable' && 'master' || 'stable' }}
base_branch: ${{ github.ref_name != 'master' && github.ref_name != 'development' && 'development' || 'master' }}

current_ref: ${{ github.ref_name }}
commit_hash: ${{ github.event.after }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/autogpt-docker-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ jobs:
event_ref_type: ${{ github.event.ref}}
inputs_no_cache: ${{ inputs.no_cache }}

prod_branch: stable
dev_branch: master
prod_branch: master
dev_branch: development
repository: ${{ github.repository }}
base_branch: ${{ github.ref_name != 'master' && github.ref_name != 'stable' && 'master' || 'stable' }}
base_branch: ${{ github.ref_name != 'master' && github.ref_name != 'development' && 'development' || 'master' }}

ref_type: ${{ github.ref_type }}
current_ref: ${{ github.ref_name }}
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/autogpts-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,19 @@ name: Valid AutoGPTs

on:
workflow_dispatch:
branches: [master]
schedule:
- cron: '0 8 * * *'
push:
branches: [master, ci-test*]
branches: [ master, development, ci-test* ]
pull_request:
branches: [stable, master, release-*]
branches: [ master, development, release-* ]

jobs:
run-tests:
runs-on: ubuntu-latest
strategy:
matrix:
agent-name: [ forge ]
agent-name: [ autogpt, forge ]
fail-fast: false
timeout-minutes: 20
steps:
Expand All @@ -38,10 +37,9 @@ jobs:
curl -sSL https://install.python-poetry.org | python -
- name: Run regression tests
working-directory: ./autogpts/${{ matrix.agent-name }}/
run: |
sh run &
sleep 20
./run agent start ${{ matrix.agent-name }}
cd autogpts/${{ matrix.agent-name }}
poetry run agbenchmark --mock
poetry run agbenchmark --test=WriteFile
env:
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/benchmark-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ name: Benchmark CI

on:
push:
branches: [master, ci-test*]
branches: [ master, development, ci-test* ]
paths:
- 'benchmark/**'
- .github/workflows/benchmark-ci.yml
- '!benchmark/reports/**'
pull_request:
branches: [stable, master, release-*]
branches: [ master, development, release-* ]
paths:
- 'benchmark/**'
- '!benchmark/reports/**'
Expand Down Expand Up @@ -97,10 +97,10 @@ jobs:
curl -sSL https://install.python-poetry.org | python -
- name: Run regression tests
working-directory: ./autogpts/${{ matrix.agent-name }}/
run: |
sh run &
sleep 20
./run agent start ${{ matrix.agent-name }}
sleep 10
cd autogpts/${{ matrix.agent-name }}
set +e # Ignore non-zero exit codes and continue execution
echo "Running the following command: poetry run agbenchmark --maintain --mock"
Expand All @@ -123,8 +123,6 @@ jobs:
echo "Running the following command: poetry run agbenchmark --test=WriteFile"
poetry run agbenchmark --test=WriteFile
sh run_benchmark serve &
sleep 10
cd ../../benchmark
poetry install
echo "Adding the BUILD_SKILL_TREE environment variable. This will attempt to add new elements in the skill tree. If new elements are added, the CI fails because they should have been pushed"
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/build-frontend.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
name: Build and Commit Frontend

on:
push:
branches:
- master
- development
- 'ci-test*' # This will match any branch that starts with "ci-test"
paths:
- 'frontend/**'

jobs:
build:
permissions:
Expand Down Expand Up @@ -39,4 +43,4 @@ jobs:
# title: "Update frontend build"
# body: "This PR updates the frontend build."
# branch: ${{ steps.vars.outputs.branch }}
# base: "master"
# base: "master"
3 changes: 1 addition & 2 deletions .github/workflows/pr-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ name: "Pull Request auto-label"
on:
# So that PRs touching the same files as the push are updated
push:
branches: [ master, release-* ]
branches: [ master, development, release-* ]
paths-ignore:
- 'autogpts/autogpt/tests/vcr_cassettes'
- 'autogpts/autogpt/tests/challenges/current_score.json'
- 'benchmark/reports/**'
# So that the `dirtyLabel` is removed if conflicts are resolve
# We recommend `pull_request_target` so that github secrets are available.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/repo-stats.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
steps:
- name: run-ghrs
# Use latest release.
uses: jgehrcke/github-repo-stats@RELEASE
uses: jgehrcke/github-repo-stats@HEAD
with:
ghtoken: ${{ secrets.ghrs_github_api_token }}

2 changes: 1 addition & 1 deletion autogpts/autogpt/CITATION.cff → CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ authors:
repository-code: 'https://github.com/Significant-Gravitas/AutoGPT'
url: 'https://agpt.co'
abstract: >-
An experimental open-source attempt to make GPT-4 fully
A collection of tools and experimental open-source attempts to make GPT-4 fully
autonomous.
keywords:
- AI
Expand Down
10 changes: 5 additions & 5 deletions CLI-USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Options:
--help Show this message and exit.
Commands:
agents Commands to create, start and stop agents
agent Commands to create, start and stop agents
benchmark Commands to start the benchmark and list tests and categories
setup Installs dependencies needed for your system.
```
Expand Down Expand Up @@ -52,7 +52,7 @@ This command initializes the setup of the project.
**a. List All Agents**

```sh
./run agents list
./run agent list
```

**Output**:
Expand All @@ -68,7 +68,7 @@ Lists all the available agents.
**b. Create a New Agent**

```sh
./run agents create my_agent
./run agent create my_agent
```

**Output**:
Expand All @@ -82,7 +82,7 @@ Creates a new agent named 'my_agent'.
**c. Start an Agent**

```sh
./run agents start my_agent
./run agent start my_agent
```

**Output**:
Expand All @@ -98,7 +98,7 @@ Starts the 'my_agent' and displays startup ASCII art and logs.
**d. Stop an Agent**

```sh
./run agents stop
./run agent stop
```

**Output**:
Expand Down
37 changes: 36 additions & 1 deletion QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Quickstart Guide

> For the complete getting started [tutorial series](https://aiedge.medium.com/autogpt-forge-e3de53cc58ec) <- click here
Welcome to the Quickstart Guide! This guide will walk you through the process of setting up and running your own AutoGPT agent. Whether you're a seasoned AI developer or just starting out, this guide will provide you with the necessary steps to jumpstart your journey in the world of AI development with AutoGPT.

## System Requirements
Expand Down Expand Up @@ -42,6 +44,39 @@ This project supports Linux (Debian based), Mac, and Windows Subsystem for Linux

![Setup the Project](docs/content/imgs/quickstart/005_setup.png)

### For Windows Users

If you're a Windows user and experience issues after installing WSL, follow the steps below to resolve them.

#### Update WSL
Run the following command in Powershell or Command Prompt to:
1. Enable the optional WSL and Virtual Machine Platform components.
2. Download and install the latest Linux kernel.
3. Set WSL 2 as the default.
4. Download and install the Ubuntu Linux distribution (a reboot may be required).

```shell
wsl --install
```

For more detailed information and additional steps, refer to [Microsoft's WSL Setup Environment Documentation](https://learn.microsoft.com/en-us/windows/wsl/setup/environment).

#### Resolve FileNotFoundError or "No such file or directory" Errors
When you run `./run setup`, if you encounter errors like `No such file or directory` or `FileNotFoundError`, it might be because Windows-style line endings (CRLF - Carriage Return Line Feed) are not compatible with Unix/Linux style line endings (LF - Line Feed).

To resolve this, you can use the `dos2unix` utility to convert the line endings in your script from CRLF to LF. Here’s how to install and run `dos2unix` on the script:

```shell
sudo apt update
sudo apt install dos2unix
dos2unix ./run
```

After executing the above commands, running `./run setup` should work successfully.

#### Store Project Files within the WSL File System
If you continue to experience issues, consider storing your project files within the WSL file system instead of the Windows file system. This method avoids issues related to path translations and permissions and provides a more consistent development environment.

You can keep running the command to get feedback on where you are up to with your setup.
When setup has been completed, the command will return an output like this:
Expand Down Expand Up @@ -135,7 +170,7 @@ Commands:
list List benchmark tests command
```

The benchmark has been split into different categories of skills you and test your agent on. You can see what categories are available with
The benchmark has been split into different categories of skills you can test your agent on. You can see what categories are available with
```bash
./run benchmark categories list
# And what tests are available with
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,10 @@ Following Elon Musk's engineering philosophy, the primary objective for the MVP
- [ ] Official deployment of the Discord bot.
- [ ] Implement a summarization feature to handle long-running outputs and provide a way to interact with AutoGPT during runtime.


## Stretch Goals:


Stretch goals encompass additional features and integrations that enhance the functionality and user experience of the project:

- [ ] Add the ability for AutoGPT to call upon other specialist agents through the `./run agent start <agent name>` command.
Expand All @@ -62,6 +64,8 @@ We invite you to share your thoughts, suggestions, or questions. Your involvemen

Join us on Discord at [Agora - The Creator Collective](https://discord.gg/Q3VKuj8hBT) where we will be rolling out the bots. This platform aims to connect like-minded individuals with the power of AutoGPT Discord bot integration and meta customization, enabling the ability to run any Forge agents with `./run agent start <agent name>` command.

This project has been a long-time vision, and with the validation from the Auto-GPT team, it's inspiring to see it take shape. We have a good start, and with continued collaboration, we can build something truly beneficial for the community.
[![Join us on Discord](https://invidget.switchblade.xyz/autogpt)](https://discord.gg/autogpt)



## This is the future. This is Swarms. This IS SPARTA!!!.
Loading

0 comments on commit e06f8e4

Please sign in to comment.