Skip to content

Merge pull request #110 from valory-xyz/chore/analysis_invalid_markets #450

Merge pull request #110 from valory-xyz/chore/analysis_invalid_markets

Merge pull request #110 from valory-xyz/chore/analysis_invalid_markets #450

Workflow file for this run

name: main_workflow
on:
push:
branches:
- develop
- main
pull_request:
jobs:
lock_check:
continue-on-error: False
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
python-version: [ "3.10" ]
poetry-version: ["1.3.2"]
timeout-minutes: 10
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: ${{ matrix.poetry-version }}
virtualenvs-create: true
virtualenvs-in-project: false
virtualenvs-path: ~/my-custom-path
installer-parallel: true
- name: Check if dependencies can be locked
run: poetry lock --check
- name: Poetry install requirements and check they can be locked
run: poetry install --all-extras --no-interaction -vvv
copyright_and_dependencies_check:
continue-on-error: False
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.10" ]
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox,cli]==0.2.14
pip install --upgrade setuptools==60.10.0
- name: Check copyright headers
run: tomte check-copyright --author author_name
# TOFIX: temp skip
# - name: License compatibility check
# run: tox -e liccheck
# - name: Check dependencies
# run: tox -e check-dependencies
- name: Check doc links
run: tomte check-doc-links --url-skips https://github.com/valory-xyz/market-creator.git --url-skips https://newsapi.org/v2/everything --url-skips https://newsapi.org/v2/top-headlines --url-skips http://host.docker.internal:8545 --url-skips https://github.com/protofire/omen-exchange/blob/a98fff28a71fa53b43e7ae069924564dd597d9ba/README.md --url-skips https://github.com/valory-xyz/market-creator/blob/0bab9ff6b41c2f024cc1f0d2aa149347fd0f47a9/packages/valory/agents/market_maker/aea-config.yaml#L149
- name: Check doc IPFS hashes
run: tox -e check-doc-hashes
linter_checks:
continue-on-error: False
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.10.6" ]
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update --fix-missing
sudo apt-get autoremove
sudo apt-get autoclean
pip install tomte[tox,cli]==0.2.14
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
sudo mv protoc/bin/protoc /usr/local/bin/protoc
# install IPFS
sudo apt-get install -y wget
wget -O ./go-ipfs.tar.gz https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_linux-amd64.tar.gz
tar xvfz go-ipfs.tar.gz
sudo mv go-ipfs/ipfs /usr/local/bin/ipfs
ipfs init
# Install `mdspell` for spelling checks
sudo npm install -g markdown-spellcheck
- name: Security checks
run: tomte check-security
- name: Check packages
run: tox -e check-packages
# - name: Check FSM Spec
# run: tox -e check-abciapp-specs
- name: Check hash
run: tox -e check-hash
- name: Code checks
run: tomte check-code
# - name: Check spelling
# run: tomte check-spelling
scan:
name: gitleaks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-go@v3
with:
go-version: "1.17.7"
- run: |
wget https://github.com/zricethezav/gitleaks/releases/download/v8.10.1/gitleaks_8.10.1_linux_x64.tar.gz && \
tar -xzf gitleaks_8.10.1_linux_x64.tar.gz && \
sudo install gitleaks /usr/bin && \
gitleaks detect --report-format json --report-path leak_report
# test:
# continue-on-error: True
# needs:
# - lock_check
# - copyright_and_dependencies_check
# - linter_checks
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [ ubuntu-latest, macos-latest, windows-latest ]
# python-version: [ "3.7", "3.8", "3.9", "3.10" ]
# timeout-minutes: 30
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-python@v3
# with:
# submodules: recursive
# python-version: ${{ matrix.python-version }}
# - uses: actions/setup-go@v3
# with:
# go-version: "1.17.7"
# - if: matrix.os == 'ubuntu-latest'
# name: Install dependencies (ubuntu-latest)
# run: |
# sudo apt-get update --fix-missing
# sudo apt-get autoremove
# sudo apt-get autoclean
# pip install tomte[tox]==0.2.14
# pip install --upgrade setuptools==60.10.0
# # install Protobuf compiler
# wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protoc-3.11.4-linux-x86_64.zip
# unzip protoc-3.11.4-linux-x86_64.zip -d protoc
# sudo mv protoc/bin/protoc /usr/local/bin/protoc
# # install IPFS
# sudo apt-get install -y wget
# wget -O ./go-ipfs.tar.gz https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_linux-amd64.tar.gz
# tar xvfz go-ipfs.tar.gz
# sudo mv go-ipfs/ipfs /usr/local/bin/ipfs
# ipfs init
# # install Tendermint
# wget -O tendermint.tar.gz https://github.com/tendermint/tendermint/releases/download/v0.34.19/tendermint_0.34.19_linux_amd64.tar.gz
# tar -xf tendermint.tar.gz
# sudo mv tendermint /usr/local/bin/tendermint
# # pull node image needed for the integration tests
# docker pull node:16.7.0
# docker pull trufflesuite/ganache:beta
# docker pull valory/autonolas-registries:latest
# - if: matrix.os == 'ubuntu-latest'
# name: Unit tests (ubuntu-latest)
# run: |
# tox -e py${{ matrix.python-version }}-linux -- -m 'not e2e'
# - if: matrix.os == 'macos-latest'
# name: Install dependencies (macos-latest)
# run: |
# pip install tomte[tox]==0.2.14
# 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
# sudo mv protoc/bin/protoc /usr/local/bin/protoc
# brew tap yoheimuta/protolint
# brew install protolint
# # install ipfs
# curl -O https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_darwin-amd64.tar.gz
# tar -xvzf go-ipfs_v0.6.0_darwin-amd64.tar.gz
# cd go-ipfs
# sudo ./install.sh
# cd ..
# rm -rf go-ipfs
# ipfs init
# - if: matrix.os == 'macos-latest'
# name: Skills unit tests macos-latest
# run: |
# tox -e py${{ matrix.python-version }}-darwin -- -m 'not e2e'
# - if: matrix.os == 'windows-latest'
# name: Install dependencies (windows-latest)
# env:
# ACTIONS_ALLOW_UNSECURE_COMMANDS: true
# 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 wget -y
# choco install protoc --version 3.19.4
# choco install mingw -y
# choco install make -y
# # to check make was installed
# make --version
# pip install tomte[tox]==0.2.14
# # 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
# # sudo mv protoc/bin/protoc /usr/local/bin/protoc
# python scripts\update_symlinks_cross_platform.py
# # install ipfs
# curl https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_windows-amd64.zip -o go-ipfs_v0.6.0.zip
# Expand-Archive -Path go-ipfs_v0.6.0.zip -DestinationPath ~\Apps\
# cp ~\Apps\go-ipfs\ipfs.exe C:\Users\runneradmin\go\bin\
# ipfs init
# - if: matrix.os == 'windows-latest'
# name: Skills unit tests windows-latest
# run: |
# tox -e py${{ matrix.python-version }}-win -- -m 'not e2e'
# - if: matrix.os == 'ubuntu-latest'
# name: Upload coverage to Codecov
# uses: codecov/codecov-action@v1
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
# file: ./coverage.xml
# flags: unittests
# name: codecov-umbrella
# fail_ci_if_error: false
# e2e-tests:
# continue-on-error: True
# needs:
# - test
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [ ubuntu-latest ]
# python-version: [ "3.10" ]
# timeout-minutes: 30
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-python@v3
# with:
# submodules: recursive
# python-version: ${{ matrix.python-version }}
# - if: matrix.os == 'ubuntu-latest'
# name: Install dependencies (ubuntu-latest)
# run: |
# sudo apt-get update --fix-missing
# sudo apt-get autoremove
# sudo apt-get autoclean
# pip install tomte[tox]==0.2.14
# pip install --upgrade setuptools==60.10.0
# # install Protobuf compiler
# wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protoc-3.11.4-linux-x86_64.zip
# unzip protoc-3.11.4-linux-x86_64.zip -d protoc
# sudo mv protoc/bin/protoc /usr/local/bin/protoc
# # install IPFS
# sudo apt-get install -y wget
# wget -O ./go-ipfs.tar.gz https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_linux-amd64.tar.gz
# tar xvfz go-ipfs.tar.gz
# sudo mv go-ipfs/ipfs /usr/local/bin/ipfs
# ipfs init
# # install Tendermint
# wget -O tendermint.tar.gz https://github.com/tendermint/tendermint/releases/download/v0.34.19/tendermint_0.34.19_linux_amd64.tar.gz
# tar -xf tendermint.tar.gz
# sudo mv tendermint /usr/local/bin/tendermint
# # pull node image needed for the integration tests
# docker pull node:16.7.0
# - name: e2e tests
# run: |
# tox -e py${{ matrix.python-version }} -- -m 'e2e'