Adds support for composio managed workspaces #2100
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: main_workflow | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
lock_check: | |
defaults: | |
run: | |
working-directory: ./python | |
continue-on-error: False | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.10"] | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@master | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Pipenv install requirements and check it can be locked | |
run: | | |
pip install pipenv | |
pipenv --clear | |
time pipenv install --verbose --dev --skip-lock | |
time pipenv run pip install -e .[all] | |
time pipenv lock | |
time pipenv run composio --help | |
linter_checks: | |
defaults: | |
run: | |
working-directory: ./python | |
continue-on-error: False | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.10"] | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@master | |
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 --user --upgrade setuptools | |
pip install tox==4.6.3 | |
- name: Code style check | |
run: | | |
tox -e black-check | |
tox -e isort-check | |
tox -e flake8 | |
- name: Pylint check | |
run: tox -e pylint | |
- name: Static type check | |
run: tox -e mypy | |
test: | |
defaults: | |
run: | |
working-directory: ./python | |
continue-on-error: True | |
needs: | |
- lock_check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.9", "3.10", "3.11"] | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- uses: actions/setup-python@master | |
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 --user --upgrade setuptools | |
pip install tox==4.6.3 | |
- name: Unittests | |
run: | | |
export COMPOSIO_API_KEY=${{ secrets.COMPOSIO_API_KEY_STAGING }} | |
export COMPOSIO_BASE_URL=${{ secrets.COMPOSIO_BASE_URL_STAGING }} | |
export FLY_API_TOKEN=${{ secrets.FLY_API_TOKEN }} | |
export E2B_API_KEY=${{ secrets.E2B_API_KEY_STAGING }} | |
tox -e test -- -m 'not e2e' | |
- if: matrix.python-version == '3.10' | |
name: Upload test results to Codecov | |
uses: codecov/test-results-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
e2e: | |
defaults: | |
run: | |
working-directory: ./python | |
continue-on-error: True | |
needs: | |
- lock_check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.10"] | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Install Docker Engine without containerd | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | |
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | |
sudo apt-get update | |
sudo apt-get install -y docker-ce docker-ce-cli | |
sudo systemctl start docker | |
sudo systemctl enable docker | |
- uses: actions/setup-python@master | |
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 --user --upgrade setuptools | |
pip install tox==4.6.3 | |
- name: Build docker images | |
run: | | |
cd dockerfiles | |
make ci | |
- name: Unittests | |
run: | | |
export COMPOSIO_API_KEY=${{ secrets.COMPOSIO_API_KEY_STAGING }} | |
export COMPOSIO_BASE_URL=${{ secrets.COMPOSIO_BASE_URL_STAGING }} | |
export FLY_API_TOKEN=${{ secrets.FLY_API_TOKEN }} | |
export E2B_API_KEY=${{ secrets.E2B_API_KEY_STAGING }} | |
tox -e test -- -m 'e2e' |