Skip to content

Commit

Permalink
Lint and Unit Test PR CI Checks
Browse files Browse the repository at this point in the history
  • Loading branch information
John-peterson-coinbase committed Nov 4, 2024
1 parent c9524a7 commit 36ec97f
Show file tree
Hide file tree
Showing 5 changed files with 164 additions and 10 deletions.
71 changes: 71 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Lint
on: [pull_request]

jobs:
lint-agentkit:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./cdp-agentkit-core
steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: latest
virtualenvs-create: true
virtualenvs-in-project: true

- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: ./cdp-agentkit-core/.venv
key: venv-agentkit-${{ runner.os }}-${{ hashFiles('cdp-agentkit-core/poetry.lock') }}

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --with dev

- name: Run linters
run: poetry run make lint

lint-langchain:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./cdp-langchain
steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: latest
virtualenvs-create: true
virtualenvs-in-project: true

- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: ./cdp-langchain/.venv
key: venv-langchain-${{ runner.os }}-${{ hashFiles('cdp-langchain/poetry.lock') }}

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --with dev

- name: Run linters
run: poetry run make lint
79 changes: 79 additions & 0 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Run Unit Tests
on: [pull_request]

jobs:
test-agentkit:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./cdp-agentkit-core
strategy:
matrix:
python: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}

- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: latest
virtualenvs-create: true
virtualenvs-in-project: true

- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: ./cdp-agentkit-core/.venv
key: venv-agentkit-${{ runner.os }}-${{ matrix.python }}-${{ hashFiles('cdp-agentkit-core/poetry.lock') }}

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --with dev

- name: Run tests
run: poetry run make test

test-langchain:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./cdp-langchain
strategy:
matrix:
python: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}

- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: latest
virtualenvs-create: true
virtualenvs-in-project: true

- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: ./cdp-langchain/.venv
key: venv-langchain-${{ runner.os }}-${{ matrix.python }}-${{ hashFiles('cdp-langchain/poetry.lock') }}

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --with dev

- name: Run tests
run: poetry run make test
4 changes: 4 additions & 0 deletions cdp-langchain/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@ lint:
.PHONY: lint-fix
lint-fix:
ruff check . --fix

.PHONY: test
test:
pytest
2 changes: 1 addition & 1 deletion cdp-langchain/tests/tools/test_cdp_action.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class TestArgsSchema(BaseModel):
@pytest.fixture
def mock_cdp_agentkit_wrapper():
"""Fixture for mocked CDP Agentkit wrapper."""
with patch("langchain_cdp.tools.cdp_action.CdpAgentkitWrapper") as mock:
with patch("cdp_langchain.tools.cdp_action.CdpAgentkitWrapper") as mock:
cdp_agentkit_wrapper = Mock(spec=CdpAgentkitWrapper)
mock.return_value = cdp_agentkit_wrapper
yield cdp_agentkit_wrapper
Expand Down
18 changes: 9 additions & 9 deletions cdp-langchain/tests/utils/test_cdp_agentkit_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,19 +143,19 @@ def test_cdp_sdk_import_error():
(
"get_wallet_details",
{},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.get_wallet_details_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.get_wallet_details_wrapper",
"Got wallet details successfully",
),
(
"get_balance",
{"asset_id": "usdc"},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.get_balance_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.get_balance_wrapper",
"Got balance successfully",
),
(
"request_faucet_funds",
{},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.request_faucet_funds_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.request_faucet_funds_wrapper",
"Requested assets from faucet successfully",
),
(
Expand All @@ -166,7 +166,7 @@ def test_cdp_sdk_import_error():
"destination": "example.base.eth",
"gasless": True,
},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.transfer_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.transfer_wrapper",
"Transferred successfully",
),
(
Expand All @@ -176,7 +176,7 @@ def test_cdp_sdk_import_error():
"from_asset_id": "usdc",
"to_asset_id": "weth",
},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.trade_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.trade_wrapper",
"Traded successfully",
),
(
Expand All @@ -186,7 +186,7 @@ def test_cdp_sdk_import_error():
"symbol": "TOKEN",
"total_supply": "1000000",
},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.deploy_token_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.deploy_token_wrapper",
"Deployed token successfully",
),
(
Expand All @@ -195,7 +195,7 @@ def test_cdp_sdk_import_error():
"contract_address": "0xvalidContractAddress",
"destination": "0xvalidAddress",
},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.mint_nft_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.mint_nft_wrapper",
"Minted NFT successfully",
),
(
Expand All @@ -205,15 +205,15 @@ def test_cdp_sdk_import_error():
"symbol": "TEST",
"base_uri": "https://www.test.xyz/metadata/",
},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.deploy_nft_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.deploy_nft_wrapper",
"Minted NFT successfully",
),
(
"register_basename",
{
"basename": "test-basename",
},
"langchain_cdp.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.register_basename_wrapper",
"cdp_langchain.utils.cdp_agentkit_wrapper.CdpAgentkitWrapper.register_basename_wrapper",
"Registered basename successfully",
),
],
Expand Down

0 comments on commit 36ec97f

Please sign in to comment.