Skip to content

Commit

Permalink
Merge branch 'main' into fix/extend-solana
Browse files Browse the repository at this point in the history
  • Loading branch information
angrybayblade committed Oct 26, 2023
2 parents 6924c1a + 24a0dce commit 9b77b3c
Show file tree
Hide file tree
Showing 302 changed files with 3,201 additions and 7,606 deletions.
110 changes: 87 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,46 +172,110 @@ jobs:
aea init --reset --author valory --ipfs --remote
aea push-all
publish-images:
name: Publish Docker Images
publish-docs-images:
name: Publish Docs Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
steps:
- uses: actions/checkout@v2
- name: Docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Set up support for multi platform build
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multibuild
docker buildx inspect --bootstrap
- name: Set up tag
run: echo export TAG=$(python3 -c "from setup import about; print(about[\"__version__\"])") > env.sh
- name: Build version tagged images
- name: Build and push version tagged images
run: |
# export `TAG` variable
source env.sh
docker build -t valory/open-aea-docs:$TAG -f docs-image/Dockerfile . && \
docker build -t valory/open-aea-develop:$TAG -f develop-image/Dockerfile . && \
docker build -t valory/open-aea-user:$TAG -f user-image/Dockerfile . && \
docker build -t valory/open-aea-deploy:$TAG -f deploy-image/Dockerfile .
- name: Tag to latest
docker build -t valory/open-aea-docs:$TAG -f docs-image/Dockerfile . --push
docker build -t valory/open-aea-docs:latest -f docs-image/Dockerfile . --push
publish-user-images:
name: Publish User Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
steps:
- uses: actions/checkout@v2
- name: Docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Set up support for multi platform build
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multibuild
docker buildx inspect --bootstrap
- name: Set up tag
run: echo export TAG=$(python3 -c "from setup import about; print(about[\"__version__\"])") > env.sh
- name: Build and push version tagged images
run: |
# export `TAG` variable
source env.sh
docker tag valory/open-aea-docs:$TAG valory/open-aea-docs:latest
docker tag valory/open-aea-develop:$TAG valory/open-aea-develop:latest
docker tag valory/open-aea-user:$TAG valory/open-aea-user:latest
docker tag valory/open-aea-deploy:$TAG valory/open-aea-deploy:latest
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-user:$TAG -f user-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-user:latest -f user-image/Dockerfile . --push
publish-deploy-images:
name: Publish Deploy Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
steps:
- uses: actions/checkout@v2
- name: Docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Docker Push
- name: Set up support for multi platform build
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multibuild
docker buildx inspect --bootstrap
- name: Set up tag
run: echo export TAG=$(python3 -c "from setup import about; print(about[\"__version__\"])") > env.sh
- name: Build and push version tagged images
run: |
# export `TAG` variable
source env.sh
docker push valory/open-aea-docs:$TAG
docker push valory/open-aea-docs:latest
docker buildx build --platform linux/amd64,linux/arm64 -t valory/open-aea-deploy:$TAG -f deploy-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64 -t valory/open-aea-deploy:latest -f deploy-image/Dockerfile . --push
docker push valory/open-aea-develop:$TAG
docker push valory/open-aea-develop:latest
docker push valory/open-aea-user:$TAG
docker push valory/open-aea-user:latest
docker push valory/open-aea-deploy:$TAG
docker push valory/open-aea-deploy:latest
publish-develop-images:
name: Publish Develop Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
steps:
- uses: actions/checkout@v2
- name: Docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Set up support for multi platform build
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multibuild
docker buildx inspect --bootstrap
- name: Set up tag
run: echo export TAG=$(python3 -c "from setup import about; print(about[\"__version__\"])") > env.sh
- name: Build and push version tagged images
run: |
# export `TAG` variable
source env.sh
docker build -t valory/open-aea-develop:$TAG -f develop-image/Dockerfile . --push
docker build -t valory/open-aea-develop:latest -f develop-image/Dockerfile . --push
62 changes: 29 additions & 33 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
- name: Security Check
run: tox -e bandit
- name: Safety Check
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
- name: Pylint check
run: |
tox -e pylint
Expand All @@ -120,11 +120,11 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
pip install --user --upgrade setuptools
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
# install IPFS
sudo apt-get install -y wget
Expand Down Expand Up @@ -162,7 +162,7 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
pip install --user --upgrade setuptools
- name: Copyright Check
run: tox -e check-copyright
Expand All @@ -187,7 +187,7 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
- name: Install markdown-spellcheck
run: sudo npm install -g markdown-spellcheck
- name: Check API Docs updated
Expand Down Expand Up @@ -215,7 +215,7 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
- name: Check Docs links and IPFS hashes
run: tox -e check-doc-links-hashes

Expand Down Expand Up @@ -249,7 +249,7 @@ jobs:
python-version: ${{ matrix.python_version }}
- name: Install tox
run: |
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
- name: Check Pipfile and tox.ini consistency
run: |
python ./scripts/check_pipfile_and_toxini.py
Expand Down Expand Up @@ -281,7 +281,7 @@ jobs:
python-version: ${{ matrix.python_version }}
- name: Install tox
run: |
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
- name: Check plugin aea-ledger-cosmos
run: |
tox -r -e plugins_env -- sh -c "pip install ./plugins/aea-ledger-cosmos && aea generate-key cosmos && echo aea-ledger-cosmos checked!"
Expand Down Expand Up @@ -345,10 +345,10 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
# pull pre-built images
Expand Down Expand Up @@ -382,10 +382,10 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
- name: Framework integration tests
run: tox -e py3.10 -- -m 'profiling'
Expand All @@ -411,7 +411,7 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
- name: Framework integration tests
run: tox -e py3.10 -- -m 'integration and not unstable and ledger and not profiling'
- name: Packages integration tests
Expand All @@ -432,7 +432,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python_version: ['3.7', '3.8', '3.9', '3.10']
python_version: ['3.8', '3.9', '3.10', '3.11']
timeout-minutes: 120
steps:
- uses: actions/checkout@master
Expand All @@ -448,10 +448,10 @@ jobs:
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
make protolint_install
# install ipfs
Expand All @@ -470,12 +470,12 @@ jobs:
- if: matrix.os == 'macos-latest'
name: Install dependencies (macos-latest)
run: |
pip install tomte[tox]==0.2.4
pip install tomte[tox]==0.2.13
brew install gcc
# brew install protobuf
# brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/72457f0166d5619a83f508f2345b22d0617b5021/Formula/protobuf.rb
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-osx-x86_64.zip
unzip protoc-3.19.4-osx-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-osx-x86_64.zip
unzip protoc-24.3-osx-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
brew tap yoheimuta/protolint
brew install protolint
Expand All @@ -496,14 +496,14 @@ jobs:
run: |
python -m pip install -U pip
echo "::add-path::C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64"
choco install protoc --version 3.19.4
choco install protoc --version 24.3
choco install mingw -y
choco install make -y
# to check make was installed
make --version
pip install tomte[tox]==0.2.4
# wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-win64.zip
# unzip protoc-3.19.4-win64.zip -d protoc
pip install tomte[tox]==0.2.13
# wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-win64.zip
# unzip protoc-24.3-win64.zip -d protoc
# sudo mv protoc/bin/protoc /usr/local/bin/protoc
python scripts/update_symlinks_cross_platform.py
make protolint_install_win
Expand Down Expand Up @@ -531,7 +531,7 @@ jobs:
- if: matrix.os == 'ubuntu-latest' && matrix.python_version == '3.10'
name: Show full coverage report
run: |
pip install tomte[tests]==0.2.4
pip install tomte[tests]==0.2.13
coverage report -m -i
- if: matrix.os == 'ubuntu-latest' && matrix.python_version == '3.10'
Expand Down Expand Up @@ -567,7 +567,3 @@ jobs:
- uses: actions/setup-go@v3
with:
go-version: "1.17.7"
# - if: matrix.python-version == '3.7'
# name: Golang unit tests (aealite)
# working-directory: ./libs/go/aealite
# run: go test -p 1 -timeout 0 -count 1 -v ./...
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -154,4 +154,5 @@ coverage.txt

temp/
agent_name/
agent/
leak_report
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ disable=C0103,C0201,C0301,C0302,W0105,W0707,W1202,W1203,R0801,E1136,E0611,C0209,
# C0206: consider-using-dict-items

[IMPORTS]
ignored-modules=bech32,ecdsa,lru,eth_typing,eth_keys,eth_account,ipfshttpclient,werkzeug,openapi_spec_validator,aiohttp,multidict,yoti_python_sdk,defusedxml,gym,fetch,matplotlib,memory_profiler,numpy,oef,openapi_core,psutil,tensorflow,temper,skimage,web3,aioprometheus,pyaes,Crypto,asn1crypto,cosmpy,google,coverage,pylint,pytest,gitpython,protobuf,docker,signal,anchorpy,cryptography.fernet,solana,solders
ignored-modules=bech32,ecdsa,lru,eth_typing,eth_keys,eth_account,ipfshttpclient,werkzeug,openapi_spec_validator,aiohttp,multidict,yoti_python_sdk,defusedxml,gym,fetch,matplotlib,memory_profiler,numpy,oef,openapi_core,psutil,tensorflow,temper,skimage,web3,aioprometheus,pyaes,Crypto,asn1crypto,cosmpy,google,coverage,pylint,pytest,gitpython,protobuf,docker,signal,anchorpy,cryptography.fernet,solana,solders,flashbots,hexbytes

[DESIGN]
min-public-methods=1
Expand Down
9 changes: 8 additions & 1 deletion .spelling
Original file line number Diff line number Diff line change
Expand Up @@ -372,4 +372,11 @@ ABI
ERC20
WETH
Solana
plug-in
plug-in
0.6.0
cosmpy
tomte
pyyaml
1.36.0
1.39.0.post1
1.41.0.post1
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ If you want to contribute, start working through the codebase, navigate to the G

First, setup your environment by either using the `develop-image` or by following these steps:

- The simplest way to get setup for development on the framework is to install Python `>=3.7` and `pipenv`, then run the following:
- The simplest way to get setup for development on the framework is to install Python `>=3.8` and `pipenv`, then run the following:

make new_env
pipenv shell
Expand Down
Loading

0 comments on commit 9b77b3c

Please sign in to comment.