Skip to content

Commit

Permalink
Merge pull request #2496 from fetchai/develop
Browse files Browse the repository at this point in the history
Release - packages only
  • Loading branch information
DavidMinarsch authored May 5, 2021
2 parents a45e2e5 + ebfcda9 commit fa6d115
Show file tree
Hide file tree
Showing 134 changed files with 1,671 additions and 941 deletions.
75 changes: 75 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Build, Publish and Deploy Docker Container

on:
push:
branches:
- develop
- main

jobs:
publish:
runs-on: ubuntu-latest
timeout-minutes: 30

steps:
- name: Checkout
uses: actions/checkout@master

- name: Setup GCloud - sandbox
uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
if: github.ref == 'refs/heads/develop'
with:
project_id: ${{ secrets.GCLOUD_FETCH_AI_SANDBOX_PROJECT }}
service_account_key: ${{ secrets.GCLOUD_FETCH_AI_SANDBOX_KEY }}

- name: Setup GCloud - production
uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
if: github.ref == 'refs/heads/main'
with:
project_id: ${{ secrets.GCLOUD_FETCH_AI_PROD_PROJECT }}
service_account_key: ${{ secrets.GCLOUD_FETCH_AI_PROD_KEY }}

- name: Configure Docker
run: |
gcloud auth configure-docker
- name: Set Image Tag
id: vars
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"

# Push image to Google Container Registry
- name: Build and Push Images
run: |
chmod +x ./scripts/acn/build_upload_img.sh
if [ ${{ github.ref }} == 'refs/heads/develop' ]
then
./scripts/acn/build_upload_img.sh
fi
if [ ${{ github.ref }} == 'refs/heads/main' ]
then
./scripts/acn/build_upload_img.sh prod
fi
- name: Repository Dispatch
env:
IMAGE_TAG: ${{ steps.vars.outputs.sha_short }}
run: |
if [ ${{ github.ref }} == 'refs/heads/develop' ]
then
curl -H "Accept: application/vnd.github.everest-preview+json" \
-H "Authorization: token ${{ secrets.GH_PAT }}" \
--request POST \
--data '{"event_type": "agents-dht-testnet", "client_payload": {"image": "gcr.io/fetch-ai-sandbox/acn_node", "tag": "'"$IMAGE_TAG"'"}}' \
https://api.github.com/repos/fetchai/infra-sandbox-london-b-deployment/dispatches
fi
if [ ${{ github.ref }} == 'refs/heads/main' ]
then
curl -H "Accept: application/vnd.github.everest-preview+json" \
-H "Authorization: token ${{ secrets.GH_PAT }}" \
--request POST \
--data '{"event_type": "agents-dht", "client_payload": {"image": "gcr.io/fetch-ai-images/acn_node", "tag": "'"$IMAGE_TAG"'"}}' \
https://api.github.com/repos/fetchai/infra-mainnet-v2-deployment/dispatches
fi
37 changes: 25 additions & 12 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
# Release History

## 1.0.1 (2020-04-30)
## - (2021-05-05)

Packages:
- Adds node watcher to `p2p_libp2p` connection
- Improves logging and error handling in `p2p_libp2p` node
- Addresses potential overflow issue in `p2p_libp2p` node
- Fixes concurrency issue in `p2p_libp2p` node which could lead to wrongly ordered envelopes
- Improves logging in TAC skills
- Fixes Exception handling in connect/disconnect calls of soef connection
- Extends public DHT tests to include staging
- Adds tests for envelope ordering for all routes
- Multiple additional tests and test stability fixes

## 1.0.1 (2021-04-30)

AEA:
- Fixes wheels issue for Windows
Expand Down Expand Up @@ -31,7 +44,7 @@ Docs:
Examples:
- Adds TAC deployment example

## 1.0.0 (2020-03-30)
## 1.0.0 (2021-03-30)

- Improves contributor guide
- Enables additional pylint checks
Expand All @@ -45,7 +58,7 @@ Examples:
- Multiple minor fixes
- Multiple additional tests and test stability fixes

## 1.0.0rc2 (2020-03-28)
## 1.0.0rc2 (2021-03-28)

- Extends CLI command `aea fingerprint` to allow fingerprinting of agents
- Improves `deploy-image` Docker example
Expand All @@ -59,7 +72,7 @@ Examples:
- Multiple minor fixes
- Multiple additional tests and test stability fixes

## 1.0.0rc1 (2020-03-24)
## 1.0.0rc1 (2021-03-24)

- Adds CLI command `aea get-public-key`
- Adds support for encrypting private keys at rest
Expand All @@ -84,7 +97,7 @@ Examples:
- Multiple additional tests and test stability fixes


## 0.11.2 (2020-03-17)
## 0.11.2 (2021-03-17)

- Fixes a package import issue
- Fixes an issue where `AgentLoop` did not teardown properly under certain conditions
Expand All @@ -100,7 +113,7 @@ Examples:
- Adds support for CLI plugins to framework
- Multiple additional tests and test stability fixes

## 0.11.1 (2020-03-06)
## 0.11.1 (2021-03-06)

- Bumps `aiohttp` to `>=3.7.4` to address a CVE affecting `http_server`, `http_client` and `webhook` connections
- Adds script to ensure Pipfile and `tox.ini` dependencies align
Expand All @@ -114,7 +127,7 @@ Examples:
- Multiple docs updates to fix order of CLI commands with respect to installing dependencies
- Multiple additional tests and test stability fixes

## 0.11.0 (2020-03-04)
## 0.11.0 (2021-03-04)

- Adds slots usage in frequently used framework objects, including `Dialogue`
- Fixes a bug in `aea upgrade` command where eject prompt was not offered
Expand All @@ -139,7 +152,7 @@ Examples:
- Multiple docs updates based on user feedback
- Multiple additional tests and test stability fixes

## 0.10.1 (2020-02-21)
## 0.10.1 (2021-02-21)

- Changes default URL of `soef` connection to https
- Improves teardown, retry and edge case handling of `p2p_libp2p` and `p2p_libp2p_client` connections
Expand All @@ -157,7 +170,7 @@ Examples:
- Multiple docs updates based on user feedback
- Multiple additional tests and test stability fixes

## 0.10.0 (2020-02-11)
## 0.10.0 (2021-02-11)

- Removes error skill from agents which do not need it
- Adds support for relay connection reconnect in ACN
Expand All @@ -178,7 +191,7 @@ Examples:
- Multiple docs updates based on user feedback
- Multiple additional tests and test stability fixes

## 0.9.2 (2020-01-21)
## 0.9.2 (2021-01-21)

- Fixes `CosmosApi`, in particular for CosmWasm
- Fixes error output from `add-key` CLI command
Expand All @@ -190,7 +203,7 @@ Examples:
- Multiple docs updates based on user feedback
- Multiple additional tests and test stability fixes

## 0.9.1 (2020-01-14)
## 0.9.1 (2021-01-14)

- Fixes multiple issues with `MultiAgentManager` including overrides not being correctly applied
- Restructures docs navigation
Expand All @@ -203,7 +216,7 @@ Examples:
- Multiple docs updates based on user feedback
- Multiple additional tests and test stability fixes

## 0.9.0 (2020-01-06)
## 0.9.0 (2021-01-06)

- Adds multiple bug fixes on `MultiAgentManager`
- Adds `AgentConfigManager` for better programmatic configuration management
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ security:
plugins/aea-ledger-cosmos/aea_ledger_cosmos \
plugins/aea-cli-ipfs/aea_cli_ipfs
bandit -s B101 -r tests scripts
safety check -i 37524 -i 38038 -i 37776 -i 38039 -i 39621
safety check -i 37524 -i 38038 -i 37776 -i 38039 -i 39621 -i 40291 -i 39706

.PHONY: static
static:
Expand Down
8 changes: 4 additions & 4 deletions docs/aggregation-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Repeat the following process four times in four different terminals (for each {`
Fetch the aggregator AEA:
``` bash
agent_name="agg$i"
aea fetch fetchai/simple_aggregator:0.1.0 --alias $agent_name
aea fetch fetchai/simple_aggregator:0.2.0 --alias $agent_name
cd $agent_name
aea install
aea build
Expand All @@ -36,13 +36,13 @@ aea create agent_name
cd agent_name
aea add connection fetchai/http_client:0.22.0
aea add connection fetchai/http_server:0.21.0
aea add connection fetchai/p2p_libp2p:0.22.0
aea add connection fetchai/soef:0.23.0
aea add connection fetchai/p2p_libp2p:0.23.0
aea add connection fetchai/soef:0.24.0
aea add connection fetchai/prometheus:0.7.0
aea add skill fetchai/advanced_data_request:0.5.0
aea add skill fetchai/simple_aggregation:0.1.0

aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0
aea config set agent.default_connection fetchai/p2p_libp2p:0.23.0
aea install
aea build
```
Expand Down
14 changes: 7 additions & 7 deletions docs/aries-cloud-agent-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ Now you can create **Alice_AEA** and **Faber_AEA** in terminals 3 and 4 respecti
In the third terminal, fetch **Alice_AEA** and move into its project folder:

``` bash
aea fetch fetchai/aries_alice:0.28.0
aea fetch fetchai/aries_alice:0.29.0
cd aries_alice
```

Expand All @@ -191,8 +191,8 @@ The following steps create <b>Alice_AEA</b> from scratch:
``` bash
aea create aries_alice
cd aries_alice
aea add connection fetchai/p2p_libp2p:0.22.0
aea add connection fetchai/soef:0.23.0
aea add connection fetchai/p2p_libp2p:0.23.0
aea add connection fetchai/soef:0.24.0
aea add connection fetchai/http_client:0.22.0
aea add connection fetchai/webhook:0.18.0
aea add skill fetchai/aries_alice:0.22.0
Expand Down Expand Up @@ -257,14 +257,14 @@ Finally run **Alice_AEA**:
aea run
```

Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.22.0 -u public_uri` to retrieve the address.) We will refer to this as **Alice_AEA's P2P address**.
Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.23.0 -u public_uri` to retrieve the address.) We will refer to this as **Alice_AEA's P2P address**.

### Faber_AEA

In the fourth terminal, fetch **Faber_AEA** and move into its project folder:

``` bash
aea fetch fetchai/aries_faber:0.28.0
aea fetch fetchai/aries_faber:0.29.0
cd aries_faber
```

Expand All @@ -275,8 +275,8 @@ The following steps create <b>Faber_AEA</b> from scratch:
``` bash
aea create aries_faber
cd aries_faber
aea add connection fetchai/p2p_libp2p:0.22.0
aea add connection fetchai/soef:0.23.0
aea add connection fetchai/p2p_libp2p:0.23.0
aea add connection fetchai/soef:0.24.0
aea add connection fetchai/http_client:0.22.0
aea add connection fetchai/webhook:0.18.0
aea add skill fetchai/aries_faber:0.20.0
Expand Down
26 changes: 13 additions & 13 deletions docs/car-park-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ Install the <a href="https://aea-manager.fetch.ai" target="_blank">AEA Manager</

The following steps assume you have launched the AEA Manager Desktop app.

1. Add a new AEA called `car_detector` with public id `fetchai/car_detector:0.28.0`.
1. Add a new AEA called `car_detector` with public id `fetchai/car_detector:0.29.0`.

2. Add another new AEA called `car_data_buyer` with public id `fetchai/car_data_buyer:0.29.0`.
2. Add another new AEA called `car_data_buyer` with public id `fetchai/car_data_buyer:0.30.0`.

3. Copy the address from the `car_data_buyer` into your clip board. Then go to the <a href="https://explore-agent-land.fetch.ai" target="_blank">AgentLand block explorer</a> and request some test tokens via `Get Funds`.

Expand Down Expand Up @@ -97,7 +97,7 @@ Follow the <a href="../quickstart/#preliminaries">Preliminaries</a> and <a href=

First, fetch the car detector AEA:
``` bash
aea fetch fetchai/car_detector:0.28.0
aea fetch fetchai/car_detector:0.29.0
cd car_detector
aea install
aea build
Expand All @@ -110,19 +110,19 @@ The following steps create the car detector from scratch:
``` bash
aea create car_detector
cd car_detector
aea add connection fetchai/p2p_libp2p:0.22.0
aea add connection fetchai/soef:0.23.0
aea add connection fetchai/p2p_libp2p:0.23.0
aea add connection fetchai/soef:0.24.0
aea add connection fetchai/ledger:0.18.0
aea add skill fetchai/carpark_detection:0.25.0
aea config set --type dict agent.dependencies \
'{
"aea-ledger-fetchai": {"version": "<2.0.0,>=1.0.0"}
}'
aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0
aea config set agent.default_connection fetchai/p2p_libp2p:0.23.0
aea config set --type dict agent.default_routing \
'{
"fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0",
"fetchai/oef_search:1.0.0": "fetchai/soef:0.23.0"
"fetchai/oef_search:1.0.0": "fetchai/soef:0.24.0"
}'
aea install
aea build
Expand All @@ -135,7 +135,7 @@ aea build

Then, fetch the car data client AEA:
``` bash
aea fetch fetchai/car_data_buyer:0.29.0
aea fetch fetchai/car_data_buyer:0.30.0
cd car_data_buyer
aea install
aea build
Expand All @@ -148,19 +148,19 @@ The following steps create the car data client from scratch:
``` bash
aea create car_data_buyer
cd car_data_buyer
aea add connection fetchai/p2p_libp2p:0.22.0
aea add connection fetchai/soef:0.23.0
aea add connection fetchai/p2p_libp2p:0.23.0
aea add connection fetchai/soef:0.24.0
aea add connection fetchai/ledger:0.18.0
aea add skill fetchai/carpark_client:0.25.0
aea config set --type dict agent.dependencies \
'{
"aea-ledger-fetchai": {"version": "<2.0.0,>=1.0.0"}
}'
aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0
aea config set agent.default_connection fetchai/p2p_libp2p:0.23.0
aea config set --type dict agent.default_routing \
'{
"fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0",
"fetchai/oef_search:1.0.0": "fetchai/soef:0.23.0"
"fetchai/oef_search:1.0.0": "fetchai/soef:0.24.0"
}'
aea install
aea build
Expand Down Expand Up @@ -225,7 +225,7 @@ First, run the car data seller AEA:
aea run
```

Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.22.0 -u public_uri` to retrieve the address.)
Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.23.0 -u public_uri` to retrieve the address.)
This is the entry peer address for the local <a href="../acn">agent communication network</a> created by the car data seller.

Then, in the car data buyer, run this command (replace `SOME_ADDRESS` with the correct value as described above):
Expand Down
2 changes: 1 addition & 1 deletion docs/cli-vs-programmatic-aeas.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ If you want to create the weather station AEA step by step you can follow this g
Fetch the weather station AEA with the following command :

``` bash
aea fetch fetchai/weather_station:0.28.0
aea fetch fetchai/weather_station:0.29.0
cd weather_station
aea install
aea build
Expand Down
2 changes: 1 addition & 1 deletion docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ protocols: # The list of protocol public id
- fetchai/default:1.0.0
skills: # The list of skill public ids the AEA project depends on (each public id must satisfy PUBLIC_ID_REGEX).
- fetchai/error:0.16.0
default_connection: fetchai/p2p_libp2p:0.22.0 # The default connection used for envelopes sent by the AEA (must satisfy PUBLIC_ID_REGEX).
default_connection: fetchai/p2p_libp2p:0.23.0 # The default connection used for envelopes sent by the AEA (must satisfy PUBLIC_ID_REGEX).
default_ledger: fetchai # The default ledger identifier the AEA project uses (must satisfy LEDGER_ID_REGEX)
required_ledgers: [fetchai] # the list of identifiers of ledgers that the AEA project requires key pairs for (each item must satisfy LEDGER_ID_REGEX)
default_routing: {} # The default routing scheme applied to envelopes sent by the AEA, it maps from protocol public ids to connection public ids (both keys and values must satisfy PUBLIC_ID_REGEX)
Expand Down
2 changes: 1 addition & 1 deletion docs/connect-a-frontend.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ This page lays out two options for connecting a front-end to an AEA. The followi
The first option is to create a `HTTP Server` connection that handles incoming requests from a REST API. In this scenario, the REST API communicates with the AEA and requests are handled by the `HTTP Server` connection package. The REST API should send CRUD requests to the `HTTP Server` connection (`fetchai/http_server:0.21.0`) which translates these into Envelopes to be consumed by the correct skill.

## Case 2
The second option is to create a front-end comprising a stand-alone `Multiplexer` with a `P2P` connection (`fetchai/p2p_libp2p:0.22.0`). In this scenario the <a href="../acn">Agent Communication Network</a> can be used to send Envelopes from the AEA to the front-end.
The second option is to create a front-end comprising a stand-alone `Multiplexer` with a `P2P` connection (`fetchai/p2p_libp2p:0.23.0`). In this scenario the <a href="../acn">Agent Communication Network</a> can be used to send Envelopes from the AEA to the front-end.
Loading

0 comments on commit fa6d115

Please sign in to comment.