diff --git a/.github/workflows/common_checks.yaml b/.github/workflows/common_checks.yaml index afc2b1c84..feb1805c1 100644 --- a/.github/workflows/common_checks.yaml +++ b/.github/workflows/common_checks.yaml @@ -1,121 +1,121 @@ -#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.4.0"] -# -# timeout-minutes: 10 -# -# 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 -# -# 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@v4 -# with: -# python-version: ${{ matrix.python-version }} -# - name: Install dependencies -# run: pip install tomte[tox,cli]==0.2.12 -# - name: Check copyright headers -# run: tomte check-copyright --author valory --exclude-part abci --exclude-part http_client --exclude-part ipfs --exclude-part ledger --exclude-part p2p_libp2p_client --exclude-part gnosis_safe --exclude-part gnosis_safe_proxy_factory --exclude-part multisend --exclude-part service_registry --exclude-part protocols --exclude-part abstract_abci --exclude-part abstract_round_abci --exclude-part registration_abci --exclude-part reset_pause_abci --exclude-part termination_abci --exclude-part transaction_settlement_abci --exclude-part websocket_client --exclude-part contract_subscription -# - 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 -# - 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" ] -# -# timeout-minutes: 30 -# -# steps: -# - uses: actions/checkout@v3 -# - uses: actions/setup-python@v4 -# with: -# python-version: ${{ matrix.python-version }} -# - name: Install dependencies -# run: | -# pip install tomte[tox,cli]==0.2.12 -# -# # Install `mdspell` for spelling checks -# sudo npm install -g markdown-spellcheck -# -# - name: Check generate protocols -# run: tox -e check-generate-all-protocols -# - name: Security checks -# run: tomte check-security -# - name: Check packages -# run: tox -e check-packages -# - name: Check hash -# run: tox -e check-hash -# - name: Code checks -# run: tomte check-code -# - name: Check spelling -# run: tomte check-spelling -# - name: AbciApp consistency checks -# run: | -# tox -e check-abci-docstrings -# tox -e check-abciapp-specs -# tox -e check-handlers -# tox -e analyse-service -# -# scan: -# name: gitleaks -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v3 -# with: -# fetch-depth: 0 -# - 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 +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.4.0"] + + timeout-minutes: 10 + + 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 + + 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@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: pip install tomte[tox,cli]==0.2.12 + - name: Check copyright headers + run: tomte check-copyright --author valory --exclude-part abci --exclude-part http_client --exclude-part ipfs --exclude-part ledger --exclude-part p2p_libp2p_client --exclude-part gnosis_safe --exclude-part gnosis_safe_proxy_factory --exclude-part multisend --exclude-part service_registry --exclude-part protocols --exclude-part abstract_abci --exclude-part abstract_round_abci --exclude-part registration_abci --exclude-part reset_pause_abci --exclude-part termination_abci --exclude-part transaction_settlement_abci --exclude-part websocket_client --exclude-part contract_subscription + - 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 + - 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" ] + + timeout-minutes: 30 + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + pip install tomte[tox,cli]==0.2.12 + + # Install `mdspell` for spelling checks + sudo npm install -g markdown-spellcheck + + - name: Check generate protocols + run: tox -e check-generate-all-protocols + - name: Security checks + run: tomte check-security + - name: Check packages + run: tox -e check-packages + - name: Check hash + run: tox -e check-hash + - name: Code checks + run: tomte check-code + - name: Check spelling + run: tomte check-spelling + - name: AbciApp consistency checks + run: | + tox -e check-abci-docstrings + tox -e check-abciapp-specs + tox -e check-handlers + tox -e analyse-service + + scan: + name: gitleaks + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - 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