Add yamlfmt precommit hook (#2584)
Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>
This commit is contained in:
13
.github/workflows/build-docker-image.yml
vendored
13
.github/workflows/build-docker-image.yml
vendored
@@ -1,42 +1,34 @@
|
|||||||
name: Build Docker Image and Push to ECR
|
name: Build Docker Image and Push to ECR
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [ published ]
|
types: [published]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
AWS_REGION: us-east-1
|
AWS_REGION: us-east-1
|
||||||
ECR_BACKEND_REPOSITORY: skyvern
|
ECR_BACKEND_REPOSITORY: skyvern
|
||||||
ECR_UI_REPOSITORY: skyvern-ui
|
ECR_UI_REPOSITORY: skyvern-ui
|
||||||
REGISTRY_ALIAS: skyvern # t6d4b5t4
|
REGISTRY_ALIAS: skyvern # t6d4b5t4
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-ci:
|
run-ci:
|
||||||
uses: ./.github/workflows/ci.yml
|
uses: ./.github/workflows/ci.yml
|
||||||
|
|
||||||
build-docker-image:
|
build-docker-image:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [ run-ci ]
|
needs: [run-ci]
|
||||||
steps:
|
steps:
|
||||||
- name: Check out Git repository
|
- name: Check out Git repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Configure AWS credentials
|
- name: Configure AWS credentials
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
uses: aws-actions/configure-aws-credentials@v4
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
aws-region: ${{ env.AWS_REGION }}
|
aws-region: ${{ env.AWS_REGION }}
|
||||||
|
|
||||||
- name: Login to Amazon ECR Public
|
- name: Login to Amazon ECR Public
|
||||||
id: login-ecr-public
|
id: login-ecr-public
|
||||||
uses: aws-actions/amazon-ecr-login@v2
|
uses: aws-actions/amazon-ecr-login@v2
|
||||||
with:
|
with:
|
||||||
registry-type: public
|
registry-type: public
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
- name: Build, tag, and push backend image to Amazon Public ECR
|
- name: Build, tag, and push backend image to Amazon Public ECR
|
||||||
id: build-image
|
id: build-image
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v2
|
||||||
@@ -52,7 +44,6 @@ jobs:
|
|||||||
${{ env.ECR_REGISTRY}}/${{ env.REGISTRY_ALIAS }}/${{ env.ECR_BACKEND_REPOSITORY }}:${{ github.sha }}
|
${{ env.ECR_REGISTRY}}/${{ env.REGISTRY_ALIAS }}/${{ env.ECR_BACKEND_REPOSITORY }}:${{ github.sha }}
|
||||||
${{ env.ECR_REGISTRY}}/${{ env.REGISTRY_ALIAS }}/${{ env.ECR_BACKEND_REPOSITORY }}:${{ github.event.release.tag_name }}
|
${{ env.ECR_REGISTRY}}/${{ env.REGISTRY_ALIAS }}/${{ env.ECR_BACKEND_REPOSITORY }}:${{ github.event.release.tag_name }}
|
||||||
${{ env.ECR_REGISTRY}}/${{ env.REGISTRY_ALIAS }}/${{ env.ECR_BACKEND_REPOSITORY }}:latest
|
${{ env.ECR_REGISTRY}}/${{ env.REGISTRY_ALIAS }}/${{ env.ECR_BACKEND_REPOSITORY }}:latest
|
||||||
|
|
||||||
- name: Build, tag, and push ui image to Amazon Public ECR
|
- name: Build, tag, and push ui image to Amazon Public ECR
|
||||||
id: build-ui-image
|
id: build-ui-image
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v2
|
||||||
|
|||||||
22
.github/workflows/ci.yml
vendored
22
.github/workflows/ci.yml
vendored
@@ -1,5 +1,4 @@
|
|||||||
name: Run tests and pre-commit
|
name: Run tests and pre-commit
|
||||||
|
|
||||||
# Run this job on pushes to `main`, and for pull requests. If you don't specify
|
# Run this job on pushes to `main`, and for pull requests. If you don't specify
|
||||||
# `branches: [main], then this actions runs _twice_ on pull requests, which is
|
# `branches: [main], then this actions runs _twice_ on pull requests, which is
|
||||||
# annoying.
|
# annoying.
|
||||||
@@ -8,12 +7,10 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
name: Run tests and pre-commit hooks
|
name: Run tests and pre-commit hooks
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
# Service containers to run with `container-job`
|
# Service containers to run with `container-job`
|
||||||
services:
|
services:
|
||||||
# Label used to access the service container
|
# Label used to access the service container
|
||||||
@@ -27,23 +24,17 @@ jobs:
|
|||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
# Set health checks to wait until postgres has started
|
# Set health checks to wait until postgres has started
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd pg_isready
|
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
--health-interval 10s
|
|
||||||
--health-timeout 5s
|
|
||||||
--health-retries 5
|
|
||||||
ports:
|
ports:
|
||||||
# Maps tcp port 5432 on service container to the host
|
# Maps tcp port 5432 on service container to the host
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
# If you wanted to use multiple Python versions, you'd have specify a matrix in the job and
|
# If you wanted to use multiple Python versions, you'd have specify a matrix in the job and
|
||||||
# reference the matrixe python version here.
|
# reference the matrixe python version here.
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: "3.11"
|
||||||
|
|
||||||
# Cache the installation of Poetry itself, e.g. the next step. This prevents the workflow
|
# Cache the installation of Poetry itself, e.g. the next step. This prevents the workflow
|
||||||
# from installing Poetry every time, which can be slow. Note the use of the Poetry version
|
# from installing Poetry every time, which can be slow. Note the use of the Poetry version
|
||||||
# number in the cache key, and the "-0" suffix: this allows you to invalidate the cache
|
# number in the cache key, and the "-0" suffix: this allows you to invalidate the cache
|
||||||
@@ -54,7 +45,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: ~/.local
|
path: ~/.local
|
||||||
key: poetry-1.7.1
|
key: poetry-1.7.1
|
||||||
|
|
||||||
# Install Poetry. You could do this manually, or there are several actions that do this.
|
# Install Poetry. You could do this manually, or there are several actions that do this.
|
||||||
# `snok/install-poetry` seems to be minimal yet complete, and really just calls out to
|
# `snok/install-poetry` seems to be minimal yet complete, and really just calls out to
|
||||||
# Poetry's default install script, which feels correct. I pin the Poetry version here
|
# Poetry's default install script, which feels correct. I pin the Poetry version here
|
||||||
@@ -69,7 +59,6 @@ jobs:
|
|||||||
version: 1.7.1
|
version: 1.7.1
|
||||||
virtualenvs-create: true
|
virtualenvs-create: true
|
||||||
virtualenvs-in-project: true
|
virtualenvs-in-project: true
|
||||||
|
|
||||||
# Cache your dependencies (i.e. all the stuff in your `pyproject.toml`). Note the cache
|
# Cache your dependencies (i.e. all the stuff in your `pyproject.toml`). Note the cache
|
||||||
# key: if you're using multiple Python versions, or multiple OSes, you'd need to include
|
# key: if you're using multiple Python versions, or multiple OSes, you'd need to include
|
||||||
# them in the cache key. I'm not, so it can be simple and just depend on the poetry.lock.
|
# them in the cache key. I'm not, so it can be simple and just depend on the poetry.lock.
|
||||||
@@ -79,19 +68,16 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: .venv
|
path: .venv
|
||||||
key: pydeps-${{ hashFiles('**/poetry.lock') }}
|
key: pydeps-${{ hashFiles('**/poetry.lock') }}
|
||||||
|
|
||||||
# Install dependencies. `--no-root` means "install all dependencies but not the project
|
# Install dependencies. `--no-root` means "install all dependencies but not the project
|
||||||
# itself", which is what you want to avoid caching _your_ code. The `if` statement
|
# itself", which is what you want to avoid caching _your_ code. The `if` statement
|
||||||
# ensures this only runs on a cache miss.
|
# ensures this only runs on a cache miss.
|
||||||
- run: poetry install --no-interaction --no-root
|
- run: poetry install --no-interaction --no-root
|
||||||
if: steps.cache-deps.outputs.cache-hit != 'true'
|
if: steps.cache-deps.outputs.cache-hit != 'true'
|
||||||
|
|
||||||
# Now install _your_ project. This isn't necessary for many types of projects -- particularly
|
# Now install _your_ project. This isn't necessary for many types of projects -- particularly
|
||||||
# things like Django apps don't need this. But it's a good idea since it fully-exercises the
|
# things like Django apps don't need this. But it's a good idea since it fully-exercises the
|
||||||
# pyproject.toml and makes that if you add things like console-scripts at some point that
|
# pyproject.toml and makes that if you add things like console-scripts at some point that
|
||||||
# they'll be installed and working.
|
# they'll be installed and working.
|
||||||
- run: poetry install --no-interaction
|
- run: poetry install --no-interaction
|
||||||
|
|
||||||
# Finally, run pre-commit.
|
# Finally, run pre-commit.
|
||||||
- name: Run all pre-commit hooks
|
- name: Run all pre-commit hooks
|
||||||
uses: pre-commit/action@v3.0.0
|
uses: pre-commit/action@v3.0.0
|
||||||
@@ -105,7 +91,6 @@ jobs:
|
|||||||
AZURE_GPT4O_MINI_API_VERSION: "dummy"
|
AZURE_GPT4O_MINI_API_VERSION: "dummy"
|
||||||
AWS_REGION: "us-east-1"
|
AWS_REGION: "us-east-1"
|
||||||
ENABLE_BEDROCK: "true"
|
ENABLE_BEDROCK: "true"
|
||||||
|
|
||||||
- name: Run alembic check
|
- name: Run alembic check
|
||||||
env:
|
env:
|
||||||
ENABLE_OPENAI: "true"
|
ENABLE_OPENAI: "true"
|
||||||
@@ -123,7 +108,6 @@ jobs:
|
|||||||
ENABLE_OPENAI: "true"
|
ENABLE_OPENAI: "true"
|
||||||
OPENAI_API_KEY: "sk-dummy"
|
OPENAI_API_KEY: "sk-dummy"
|
||||||
run: poetry run pytest tests
|
run: poetry run pytest tests
|
||||||
|
|
||||||
fe-lint-build:
|
fe-lint-build:
|
||||||
name: Frontend Lint and Build
|
name: Frontend Lint and Build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -133,17 +117,13 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Check out Git repository
|
- name: Check out Git repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version-file: .nvmrc
|
node-version-file: .nvmrc
|
||||||
|
|
||||||
- name: Install Node.js dependencies
|
- name: Install Node.js dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
- name: Run linter
|
- name: Run linter
|
||||||
run: npm run lint
|
run: npm run lint
|
||||||
|
|
||||||
- name: Run build
|
- name: Run build
|
||||||
run: npm run build
|
run: npm run build
|
||||||
|
|||||||
8
.github/workflows/codeflash.yaml
vendored
8
.github/workflows/codeflash.yaml
vendored
@@ -1,17 +1,14 @@
|
|||||||
name: Codeflash
|
name: Codeflash
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
# So that this workflow only runs when code within the target module is modified
|
# So that this workflow only runs when code within the target module is modified
|
||||||
- "skyvern/**"
|
- "skyvern/**"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
# Any new push to the PR will cancel the previous run, so that only the latest code is optimized
|
# Any new push to the PR will cancel the previous run, so that only the latest code is optimized
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
optimize:
|
optimize:
|
||||||
name: Optimize new Python code in this PR
|
name: Optimize new Python code in this PR
|
||||||
@@ -21,7 +18,6 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
||||||
CODEFLASH_PR_NUMBER: ${{ github.event.number }}
|
CODEFLASH_PR_NUMBER: ${{ github.event.number }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -44,5 +40,5 @@ jobs:
|
|||||||
poetry env use python
|
poetry env use python
|
||||||
poetry run codeflash
|
poetry run codeflash
|
||||||
- name: remove test dir
|
- name: remove test dir
|
||||||
run: |
|
run: |-
|
||||||
rm -rf codeflash-tests
|
rm -rf codeflash-tests
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
name: Close inactive issues
|
name: Close inactive issues
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
close-issues:
|
close-issues:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
43
.github/workflows/n8n-ci.yml
vendored
43
.github/workflows/n8n-ci.yml
vendored
@@ -1,37 +1,30 @@
|
|||||||
name: Run n8n package CI
|
name: Run n8n package CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [main]
|
||||||
paths:
|
paths:
|
||||||
- 'integrations/n8n/**'
|
- 'integrations/n8n/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [main]
|
||||||
paths:
|
paths:
|
||||||
- 'integrations/n8n/**'
|
- 'integrations/n8n/**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up Node.js
|
||||||
- name: Set up Node.js
|
uses: actions/setup-node@v4
|
||||||
uses: actions/setup-node@v4
|
with:
|
||||||
with:
|
node-version-file: .nvmrc
|
||||||
node-version-file: .nvmrc
|
- name: Install pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
- name: Install pnpm
|
with:
|
||||||
uses: pnpm/action-setup@v2
|
version: 9
|
||||||
with:
|
run_install: false
|
||||||
version: 9
|
- name: Install dependencies
|
||||||
run_install: false
|
working-directory: integrations/n8n
|
||||||
|
run: pnpm install --frozen-lockfile
|
||||||
- name: Install dependencies
|
- name: Build and Lint
|
||||||
working-directory: integrations/n8n
|
working-directory: integrations/n8n
|
||||||
run: pnpm install --frozen-lockfile
|
run: pnpm prepublishOnly
|
||||||
|
|
||||||
- name: Build and Lint
|
|
||||||
working-directory: integrations/n8n
|
|
||||||
run: pnpm prepublishOnly
|
|
||||||
|
|||||||
6
.github/workflows/publish-fern-docs.yml
vendored
6
.github/workflows/publish-fern-docs.yml
vendored
@@ -1,10 +1,8 @@
|
|||||||
name: Publish Fern Docs
|
name: Publish Fern Docs
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run:
|
run:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -12,12 +10,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install Fern
|
- name: Install Fern
|
||||||
run: npm install -g fern-api
|
run: npm install -g fern-api
|
||||||
|
|
||||||
- name: Publish Docs
|
- name: Publish Docs
|
||||||
env:
|
env:
|
||||||
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
|
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
||||||
run: fern generate --docs
|
run: fern generate --docs
|
||||||
|
|||||||
16
.github/workflows/sdk-release.yml
vendored
16
.github/workflows/sdk-release.yml
vendored
@@ -1,5 +1,4 @@
|
|||||||
name: Build Skyvern SDK and publish to PyPI
|
name: Build Skyvern SDK and publish to PyPI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
@@ -7,7 +6,6 @@ on:
|
|||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- 'pyproject.toml'
|
- 'pyproject.toml'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-version-change:
|
check-version-change:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -17,7 +15,6 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
|
|
||||||
- name: Check if version changed
|
- name: Check if version changed
|
||||||
id: check
|
id: check
|
||||||
run: |
|
run: |
|
||||||
@@ -35,12 +32,10 @@ jobs:
|
|||||||
echo "Version remained at $CURRENT_VERSION"
|
echo "Version remained at $CURRENT_VERSION"
|
||||||
echo "version_changed=false" >> $GITHUB_OUTPUT
|
echo "version_changed=false" >> $GITHUB_OUTPUT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run-ci:
|
run-ci:
|
||||||
needs: check-version-change
|
needs: check-version-change
|
||||||
if: needs.check-version-change.outputs.version_changed == 'true'
|
if: needs.check-version-change.outputs.version_changed == 'true'
|
||||||
uses: ./.github/workflows/ci.yml
|
uses: ./.github/workflows/ci.yml
|
||||||
|
|
||||||
build-sdk:
|
build-sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [check-version-change, run-ci]
|
needs: [check-version-change, run-ci]
|
||||||
@@ -48,13 +43,11 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Check out Git repository
|
- name: Check out Git repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
# If you wanted to use multiple Python versions, you'd have specify a matrix in the job and
|
# If you wanted to use multiple Python versions, you'd have specify a matrix in the job and
|
||||||
# reference the matrixe python version here.
|
# reference the matrixe python version here.
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: "3.11"
|
||||||
|
|
||||||
# Cache the installation of Poetry itself, e.g. the next step. This prevents the workflow
|
# Cache the installation of Poetry itself, e.g. the next step. This prevents the workflow
|
||||||
# from installing Poetry every time, which can be slow. Note the use of the Poetry version
|
# from installing Poetry every time, which can be slow. Note the use of the Poetry version
|
||||||
# number in the cache key, and the "-0" suffix: this allows you to invalidate the cache
|
# number in the cache key, and the "-0" suffix: this allows you to invalidate the cache
|
||||||
@@ -65,7 +58,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: ~/.local
|
path: ~/.local
|
||||||
key: poetry-1.7.1
|
key: poetry-1.7.1
|
||||||
|
|
||||||
# Install Poetry. You could do this manually, or there are several actions that do this.
|
# Install Poetry. You could do this manually, or there are several actions that do this.
|
||||||
# `snok/install-poetry` seems to be minimal yet complete, and really just calls out to
|
# `snok/install-poetry` seems to be minimal yet complete, and really just calls out to
|
||||||
# Poetry's default install script, which feels correct. I pin the Poetry version here
|
# Poetry's default install script, which feels correct. I pin the Poetry version here
|
||||||
@@ -80,7 +72,6 @@ jobs:
|
|||||||
version: 1.7.1
|
version: 1.7.1
|
||||||
virtualenvs-create: true
|
virtualenvs-create: true
|
||||||
virtualenvs-in-project: true
|
virtualenvs-in-project: true
|
||||||
|
|
||||||
# Cache your dependencies (i.e. all the stuff in your `pyproject.toml`). Note the cache
|
# Cache your dependencies (i.e. all the stuff in your `pyproject.toml`). Note the cache
|
||||||
# key: if you're using multiple Python versions, or multiple OSes, you'd need to include
|
# key: if you're using multiple Python versions, or multiple OSes, you'd need to include
|
||||||
# them in the cache key. I'm not, so it can be simple and just depend on the poetry.lock.
|
# them in the cache key. I'm not, so it can be simple and just depend on the poetry.lock.
|
||||||
@@ -90,27 +81,22 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: .venv
|
path: .venv
|
||||||
key: pydeps-${{ hashFiles('**/poetry.lock') }}
|
key: pydeps-${{ hashFiles('**/poetry.lock') }}
|
||||||
|
|
||||||
# Install dependencies. `--no-root` means "install all dependencies but not the project
|
# Install dependencies. `--no-root` means "install all dependencies but not the project
|
||||||
# itself", which is what you want to avoid caching _your_ code. The `if` statement
|
# itself", which is what you want to avoid caching _your_ code. The `if` statement
|
||||||
# ensures this only runs on a cache miss.
|
# ensures this only runs on a cache miss.
|
||||||
- run: poetry install --no-interaction --no-root
|
- run: poetry install --no-interaction --no-root
|
||||||
if: steps.cache-deps.outputs.cache-hit != 'true'
|
if: steps.cache-deps.outputs.cache-hit != 'true'
|
||||||
|
|
||||||
# Now install _your_ project. This isn't necessary for many types of projects -- particularly
|
# Now install _your_ project. This isn't necessary for many types of projects -- particularly
|
||||||
# things like Django apps don't need this. But it's a good idea since it fully-exercises the
|
# things like Django apps don't need this. But it's a good idea since it fully-exercises the
|
||||||
# pyproject.toml and makes that if you add things like console-scripts at some point that
|
# pyproject.toml and makes that if you add things like console-scripts at some point that
|
||||||
# they'll be installed and working.
|
# they'll be installed and working.
|
||||||
- run: poetry install --no-interaction
|
- run: poetry install --no-interaction
|
||||||
|
|
||||||
- name: Clean dist directory
|
- name: Clean dist directory
|
||||||
run: rm -rf dist
|
run: rm -rf dist
|
||||||
|
|
||||||
- name: Build Package
|
- name: Build Package
|
||||||
run: poetry build
|
run: poetry build
|
||||||
|
|
||||||
- name: Publish to PyPI
|
- name: Publish to PyPI
|
||||||
env:
|
env:
|
||||||
TWINE_USERNAME: __token__
|
TWINE_USERNAME: __token__
|
||||||
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
||||||
run: poetry run twine upload --repository pypi dist/*
|
run: poetry run twine upload --repository pypi dist/*
|
||||||
|
|||||||
2
.github/workflows/update-openapi.yml
vendored
2
.github/workflows/update-openapi.yml
vendored
@@ -1,10 +1,8 @@
|
|||||||
name: Update OpenAPI Specification
|
name: Update OpenAPI Specification
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * *"
|
- cron: "0 0 * * *"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-openapi:
|
update-openapi:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
8
.github/workflows/version-bump.yml
vendored
8
.github/workflows/version-bump.yml
vendored
@@ -1,9 +1,7 @@
|
|||||||
name: Version Bump on Release
|
name: Version Bump on Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-version:
|
update-version:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -12,17 +10,14 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Extract version from release
|
- name: Extract version from release
|
||||||
id: get_version
|
id: get_version
|
||||||
run: |
|
run: |
|
||||||
VERSION=${GITHUB_REF#refs/tags/v}
|
VERSION=${GITHUB_REF#refs/tags/v}
|
||||||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Update version in pyproject.toml
|
- name: Update version in pyproject.toml
|
||||||
run: |
|
run: |
|
||||||
sed -i "s/version = \".*\"/version = \"${{ steps.get_version.outputs.version }}\"/" pyproject.toml
|
sed -i "s/version = \".*\"/version = \"${{ steps.get_version.outputs.version }}\"/" pyproject.toml
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
id: create-pr
|
id: create-pr
|
||||||
uses: peter-evans/create-pull-request@v6
|
uses: peter-evans/create-pull-request@v6
|
||||||
@@ -32,10 +27,9 @@ jobs:
|
|||||||
body: "Auto-generated PR to update version in pyproject.toml"
|
body: "Auto-generated PR to update version in pyproject.toml"
|
||||||
branch: "version-bump/${{ steps.get_version.outputs.version }}"
|
branch: "version-bump/${{ steps.get_version.outputs.version }}"
|
||||||
delete-branch: true
|
delete-branch: true
|
||||||
|
|
||||||
- name: Enable Pull Request Automerge
|
- name: Enable Pull Request Automerge
|
||||||
if: steps.create-pr.outputs.pull-request-number
|
if: steps.create-pr.outputs.pull-request-number
|
||||||
run: |
|
run: |
|
||||||
gh pr merge --auto --merge "${{ steps.create-pr.outputs.pull-request-number }}"
|
gh pr merge --auto --merge "${{ steps.create-pr.outputs.pull-request-number }}"
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ repos:
|
|||||||
^skyvern/client/.*|
|
^skyvern/client/.*|
|
||||||
^skyvern/__init__.py
|
^skyvern/__init__.py
|
||||||
)
|
)
|
||||||
|
|
||||||
- repo: https://github.com/pre-commit/pygrep-hooks
|
- repo: https://github.com/pre-commit/pygrep-hooks
|
||||||
rev: v1.10.0
|
rev: v1.10.0
|
||||||
hooks:
|
hooks:
|
||||||
@@ -44,7 +43,6 @@ repos:
|
|||||||
- id: python-check-mock-methods
|
- id: python-check-mock-methods
|
||||||
- id: python-no-log-warn
|
- id: python-no-log-warn
|
||||||
- id: python-use-type-annotations
|
- id: python-use-type-annotations
|
||||||
|
|
||||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||||
rev: v1.14.1
|
rev: v1.14.1
|
||||||
hooks:
|
hooks:
|
||||||
@@ -65,7 +63,6 @@ repos:
|
|||||||
^alembic.*|
|
^alembic.*|
|
||||||
^skyvern/client/.*
|
^skyvern/client/.*
|
||||||
)
|
)
|
||||||
|
|
||||||
- repo: https://github.com/PyCQA/autoflake
|
- repo: https://github.com/PyCQA/autoflake
|
||||||
rev: v2.3.1
|
rev: v2.3.1
|
||||||
hooks:
|
hooks:
|
||||||
@@ -73,18 +70,18 @@ repos:
|
|||||||
name: autoflake
|
name: autoflake
|
||||||
entry: autoflake --in-place --remove-all-unused-imports --recursive --ignore-init-module-imports
|
entry: autoflake --in-place --remove-all-unused-imports --recursive --ignore-init-module-imports
|
||||||
language: python
|
language: python
|
||||||
types: [ python ]
|
types: [python]
|
||||||
exclude: |
|
exclude: |
|
||||||
(?x)(
|
(?x)(
|
||||||
^skyvern/client/.*
|
^skyvern/client/.*
|
||||||
)
|
)
|
||||||
# Mono repo has bronken this TODO: fix
|
# Mono repo has bronken this TODO: fix
|
||||||
# - id: pytest-check
|
# - id: pytest-check
|
||||||
# name: pytest-check
|
# name: pytest-check
|
||||||
# entry: pytest
|
# entry: pytest
|
||||||
# language: system
|
# language: system
|
||||||
# pass_filenames: false
|
# pass_filenames: false
|
||||||
# always_run: true
|
# always_run: true
|
||||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||||
rev: "v4.0.0-alpha.8" # Use the sha or tag you want to point at
|
rev: "v4.0.0-alpha.8" # Use the sha or tag you want to point at
|
||||||
hooks:
|
hooks:
|
||||||
@@ -96,9 +93,12 @@ repos:
|
|||||||
name: Alembic Check
|
name: Alembic Check
|
||||||
entry: ./run_alembic_check.sh
|
entry: ./run_alembic_check.sh
|
||||||
language: script
|
language: script
|
||||||
stages: [ manual ]
|
stages: [manual]
|
||||||
- repo: https://github.com/koalaman/shellcheck-precommit
|
- repo: https://github.com/koalaman/shellcheck-precommit
|
||||||
rev: v0.10.0
|
rev: v0.10.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: shellcheck
|
- id: shellcheck
|
||||||
|
- repo: https://github.com/google/yamlfmt
|
||||||
|
rev: v0.17.0
|
||||||
|
hooks:
|
||||||
|
- id: yamlfmt
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ services:
|
|||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
||||||
skyvern:
|
skyvern:
|
||||||
image: public.ecr.aws/skyvern/skyvern:latest
|
image: public.ecr.aws/skyvern/skyvern:latest
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
@@ -45,82 +44,80 @@ services:
|
|||||||
# "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\chrome-cdp-profile" --no-first-run --no-default-browser-check
|
# "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\chrome-cdp-profile" --no-first-run --no-default-browser-check
|
||||||
# /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir="/Users/yourusername/chrome-cdp-profile" --no-first-run --no-default-browser-check
|
# /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir="/Users/yourusername/chrome-cdp-profile" --no-first-run --no-default-browser-check
|
||||||
# - BROWSER_REMOTE_DEBUGGING_URL=http://host.docker.internal:9222/
|
# - BROWSER_REMOTE_DEBUGGING_URL=http://host.docker.internal:9222/
|
||||||
|
# =========================
|
||||||
|
# LLM Settings - Recommended to use skyvern CLI, `skyvern init llm` to setup your LLM's
|
||||||
|
# =========================
|
||||||
|
# OpenAI Support:
|
||||||
|
# If you want to use OpenAI as your LLM provider, uncomment the following lines and fill in your OpenAI API key.
|
||||||
|
# - ENABLE_OPENAI=true
|
||||||
|
# - LLM_KEY=OPENAI_GPT4O
|
||||||
|
# - OPENAI_API_KEY=<your_openai_key>
|
||||||
|
# Gemini Support:
|
||||||
|
# Gemini is a new LLM provider that is currently in beta. You can use it by uncommenting the following lines and filling in your Gemini API key.
|
||||||
|
# - LLM_KEY=GEMINI
|
||||||
|
# - ENABLE_GEMINI=true
|
||||||
|
# - GEMINI_API_KEY=YOUR_GEMINI_KEY
|
||||||
|
# - LLM_KEY=GEMINI_2.5_PRO_PREVIEW_03_25
|
||||||
|
# If you want to use other LLM provider, like azure and anthropic:
|
||||||
|
# - ENABLE_ANTHROPIC=true
|
||||||
|
# - LLM_KEY=ANTHROPIC_CLAUDE3.5_SONNET
|
||||||
|
# - ANTHROPIC_API_KEY=<your_anthropic_key>
|
||||||
|
# Microsoft Azure OpenAI support:
|
||||||
|
# If you'd like to use Microsoft Azure OpenAI as your managed LLM service integration with Skyvern, use the environment variables below.
|
||||||
|
# In your Microsoft Azure subscription, you will need to provision the OpenAI service and deploy a model, in order to utilize it.
|
||||||
|
# 1. Login to the Azure Portal
|
||||||
|
# 2. Create an Azure Resource Group
|
||||||
|
# 3. Create an OpenAI resource in the Resource Group (choose a region and pricing tier)
|
||||||
|
# 4. From the OpenAI resource's Overview page, open the "Azure AI Foundry" portal (click the "Explore Azure AI Foundry Portal" button)
|
||||||
|
# 5. In Azure AI Foundry, click "Shared Resources" --> "Deployments"
|
||||||
|
# 6. Click "Deploy Model" --> "Deploy Base Model" --> select a model (specify this model "Deployment Name" value for the AZURE_DEPLOYMENT variable below)
|
||||||
|
# - ENABLE_AZURE=true
|
||||||
|
# - LLM_KEY=AZURE_OPENAI # Leave this value static, don't change it
|
||||||
|
# - AZURE_DEPLOYMENT=<your_azure_deployment> # Use the OpenAI model "Deployment Name" that you deployed, using the steps above
|
||||||
|
# - AZURE_API_KEY=<your_azure_api_key> # Copy and paste Key1 or Key2 from the OpenAI resource in Azure Portal
|
||||||
|
# - AZURE_API_BASE=<your_azure_api_base> # Copy and paste the "Endpoint" from the OpenAI resource in Azure Portal (eg. https://xyzxyzxyz.openai.azure.com/)
|
||||||
|
# - AZURE_API_VERSION=<your_azure_api_version> # Specify a valid Azure OpenAI data-plane API version (eg. 2024-08-01-preview) Docs: https://learn.microsoft.com/en-us/azure/ai-services/openai/reference
|
||||||
|
# Amazon Bedrock Support:
|
||||||
|
# Amazon Bedrock is a managed service that enables you to invoke LLMs and bill them through your AWS account.
|
||||||
|
# To use Amazon Bedrock as the LLM provider for Skyvern, specify the following environment variables.
|
||||||
|
# 1. In the AWS IAM console, create a new AWS IAM User (name it whatever you want)
|
||||||
|
# 2. Assign the "AmazonBedrockFullAccess" policy to the user
|
||||||
|
# 3. Generate an IAM Access Key under the IAM User's Security Credentials tab
|
||||||
|
# 4. In the Amazon Bedrock console, go to "Model Access"
|
||||||
|
# 5. Click Modify Model Access button
|
||||||
|
# 6. Enable "Claude 3.5 Sonnet v2" and save changes
|
||||||
|
# - ENABLE_BEDROCK=true
|
||||||
|
# - LLM_KEY=BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET # This is the Claude 3.5 Sonnet "V2" model. Change to BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET_V1 for the non-v2 version.
|
||||||
|
# - AWS_REGION=us-west-2 # Replace this with a different AWS region, if you desire
|
||||||
|
# - AWS_ACCESS_KEY_ID=FILL_ME_IN_PLEASE
|
||||||
|
# - AWS_SECRET_ACCESS_KEY=FILL_ME_IN_PLEASE
|
||||||
|
# Ollama Support:
|
||||||
|
# Ollama is a local LLM provider that can be used to run models locally on your machine.
|
||||||
|
# - LLM_KEY=OLLAMA
|
||||||
|
# - ENABLE_OLLAMA=true
|
||||||
|
# - OLLAMA_MODEL=qwen2.5:7b-instruct
|
||||||
|
# - OLLAMA_SERVER_URL=http://host.docker.internal:11434
|
||||||
|
# Open Router Support:
|
||||||
|
# - ENABLE_OPENROUTER=true
|
||||||
|
# - LLM_KEY=OPENROUTER
|
||||||
|
# - OPENROUTER_API_KEY=<your_openrouter_api_key>
|
||||||
|
# - OPENROUTER_MODEL=mistralai/mistral-small-3.1-24b-instruct
|
||||||
|
# Groq Support:
|
||||||
|
# - ENABLE_GROQ=true
|
||||||
|
# - LLM_KEY=GROQ
|
||||||
|
# - GROQ_API_KEY=<your_groq_api_key>
|
||||||
|
# - GROQ_MODEL=llama-3.1-8b-instant
|
||||||
|
|
||||||
# =========================
|
# Maximum tokens to use: (only set for OpenRouter aand Ollama)
|
||||||
# LLM Settings - Recommended to use skyvern CLI, `skyvern init llm` to setup your LLM's
|
# - LLM_CONFIG_MAX_TOKENS=128000
|
||||||
# =========================
|
|
||||||
# OpenAI Support:
|
|
||||||
# If you want to use OpenAI as your LLM provider, uncomment the following lines and fill in your OpenAI API key.
|
|
||||||
# - ENABLE_OPENAI=true
|
|
||||||
# - LLM_KEY=OPENAI_GPT4O
|
|
||||||
# - OPENAI_API_KEY=<your_openai_key>
|
|
||||||
# Gemini Support:
|
|
||||||
# Gemini is a new LLM provider that is currently in beta. You can use it by uncommenting the following lines and filling in your Gemini API key.
|
|
||||||
# - LLM_KEY=GEMINI
|
|
||||||
# - ENABLE_GEMINI=true
|
|
||||||
# - GEMINI_API_KEY=YOUR_GEMINI_KEY
|
|
||||||
# - LLM_KEY=GEMINI_2.5_PRO_PREVIEW_03_25
|
|
||||||
# If you want to use other LLM provider, like azure and anthropic:
|
|
||||||
# - ENABLE_ANTHROPIC=true
|
|
||||||
# - LLM_KEY=ANTHROPIC_CLAUDE3.5_SONNET
|
|
||||||
# - ANTHROPIC_API_KEY=<your_anthropic_key>
|
|
||||||
# Microsoft Azure OpenAI support:
|
|
||||||
# If you'd like to use Microsoft Azure OpenAI as your managed LLM service integration with Skyvern, use the environment variables below.
|
|
||||||
# In your Microsoft Azure subscription, you will need to provision the OpenAI service and deploy a model, in order to utilize it.
|
|
||||||
# 1. Login to the Azure Portal
|
|
||||||
# 2. Create an Azure Resource Group
|
|
||||||
# 3. Create an OpenAI resource in the Resource Group (choose a region and pricing tier)
|
|
||||||
# 4. From the OpenAI resource's Overview page, open the "Azure AI Foundry" portal (click the "Explore Azure AI Foundry Portal" button)
|
|
||||||
# 5. In Azure AI Foundry, click "Shared Resources" --> "Deployments"
|
|
||||||
# 6. Click "Deploy Model" --> "Deploy Base Model" --> select a model (specify this model "Deployment Name" value for the AZURE_DEPLOYMENT variable below)
|
|
||||||
# - ENABLE_AZURE=true
|
|
||||||
# - LLM_KEY=AZURE_OPENAI # Leave this value static, don't change it
|
|
||||||
# - AZURE_DEPLOYMENT=<your_azure_deployment> # Use the OpenAI model "Deployment Name" that you deployed, using the steps above
|
|
||||||
# - AZURE_API_KEY=<your_azure_api_key> # Copy and paste Key1 or Key2 from the OpenAI resource in Azure Portal
|
|
||||||
# - AZURE_API_BASE=<your_azure_api_base> # Copy and paste the "Endpoint" from the OpenAI resource in Azure Portal (eg. https://xyzxyzxyz.openai.azure.com/)
|
|
||||||
# - AZURE_API_VERSION=<your_azure_api_version> # Specify a valid Azure OpenAI data-plane API version (eg. 2024-08-01-preview) Docs: https://learn.microsoft.com/en-us/azure/ai-services/openai/reference
|
|
||||||
# Amazon Bedrock Support:
|
|
||||||
# Amazon Bedrock is a managed service that enables you to invoke LLMs and bill them through your AWS account.
|
|
||||||
# To use Amazon Bedrock as the LLM provider for Skyvern, specify the following environment variables.
|
|
||||||
# 1. In the AWS IAM console, create a new AWS IAM User (name it whatever you want)
|
|
||||||
# 2. Assign the "AmazonBedrockFullAccess" policy to the user
|
|
||||||
# 3. Generate an IAM Access Key under the IAM User's Security Credentials tab
|
|
||||||
# 4. In the Amazon Bedrock console, go to "Model Access"
|
|
||||||
# 5. Click Modify Model Access button
|
|
||||||
# 6. Enable "Claude 3.5 Sonnet v2" and save changes
|
|
||||||
# - ENABLE_BEDROCK=true
|
|
||||||
# - LLM_KEY=BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET # This is the Claude 3.5 Sonnet "V2" model. Change to BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET_V1 for the non-v2 version.
|
|
||||||
# - AWS_REGION=us-west-2 # Replace this with a different AWS region, if you desire
|
|
||||||
# - AWS_ACCESS_KEY_ID=FILL_ME_IN_PLEASE
|
|
||||||
# - AWS_SECRET_ACCESS_KEY=FILL_ME_IN_PLEASE
|
|
||||||
# Ollama Support:
|
|
||||||
# Ollama is a local LLM provider that can be used to run models locally on your machine.
|
|
||||||
# - LLM_KEY=OLLAMA
|
|
||||||
# - ENABLE_OLLAMA=true
|
|
||||||
# - OLLAMA_MODEL=qwen2.5:7b-instruct
|
|
||||||
# - OLLAMA_SERVER_URL=http://host.docker.internal:11434
|
|
||||||
# Open Router Support:
|
|
||||||
# - ENABLE_OPENROUTER=true
|
|
||||||
# - LLM_KEY=OPENROUTER
|
|
||||||
# - OPENROUTER_API_KEY=<your_openrouter_api_key>
|
|
||||||
# - OPENROUTER_MODEL=mistralai/mistral-small-3.1-24b-instruct
|
|
||||||
# Groq Support:
|
|
||||||
# - ENABLE_GROQ=true
|
|
||||||
# - LLM_KEY=GROQ
|
|
||||||
# - GROQ_API_KEY=<your_groq_api_key>
|
|
||||||
# - GROQ_MODEL=llama-3.1-8b-instant
|
|
||||||
|
|
||||||
# Maximum tokens to use: (only set for OpenRouter aand Ollama)
|
# Bitwarden Settings
|
||||||
# - LLM_CONFIG_MAX_TOKENS=128000
|
# If you are looking to integrate Skyvern with a password manager (eg Bitwarden), you can use the following environment variables.
|
||||||
|
# - BITWARDEN_SERVER=http://localhost # OPTIONAL IF YOU ARE SELF HOSTING BITWARDEN
|
||||||
# Bitwarden Settings
|
# - BITWARDEN_SERVER_PORT=8002 # OPTIONAL IF YOU ARE SELF HOSTING BITWARDEN
|
||||||
# If you are looking to integrate Skyvern with a password manager (eg Bitwarden), you can use the following environment variables.
|
# - BITWARDEN_CLIENT_ID=FILL_ME_IN_PLEASE
|
||||||
# - BITWARDEN_SERVER=http://localhost # OPTIONAL IF YOU ARE SELF HOSTING BITWARDEN
|
# - BITWARDEN_CLIENT_SECRET=FILL_ME_IN_PLEASE
|
||||||
# - BITWARDEN_SERVER_PORT=8002 # OPTIONAL IF YOU ARE SELF HOSTING BITWARDEN
|
# - BITWARDEN_MASTER_PASSWORD=FILL_ME_IN_PLEASE
|
||||||
# - BITWARDEN_CLIENT_ID=FILL_ME_IN_PLEASE
|
|
||||||
# - BITWARDEN_CLIENT_SECRET=FILL_ME_IN_PLEASE
|
|
||||||
# - BITWARDEN_MASTER_PASSWORD=FILL_ME_IN_PLEASE
|
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
@@ -129,7 +126,6 @@ services:
|
|||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
||||||
skyvern-ui:
|
skyvern-ui:
|
||||||
image: public.ecr.aws/skyvern/skyvern-ui:latest
|
image: public.ecr.aws/skyvern/skyvern-ui:latest
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
|||||||
208
fern/docs.yml
208
fern/docs.yml
@@ -62,90 +62,90 @@ tabs:
|
|||||||
navigation:
|
navigation:
|
||||||
- tab: home
|
- tab: home
|
||||||
layout:
|
layout:
|
||||||
- section: Getting Started
|
- section: Getting Started
|
||||||
contents:
|
contents:
|
||||||
- page: Introduction
|
- page: Introduction
|
||||||
path: introduction.mdx
|
path: introduction.mdx
|
||||||
- page: Quickstart
|
- page: Quickstart
|
||||||
path: getting-started/quickstart.mdx
|
path: getting-started/quickstart.mdx
|
||||||
- page: Skyvern In Action
|
- page: Skyvern In Action
|
||||||
path: getting-started/skyvern-in-action.mdx
|
path: getting-started/skyvern-in-action.mdx
|
||||||
- page: Task Prompting Guide
|
- page: Task Prompting Guide
|
||||||
path: getting-started/prompting-guide.mdx
|
path: getting-started/prompting-guide.mdx
|
||||||
- section: Tasks
|
- section: Tasks
|
||||||
contents:
|
contents:
|
||||||
- page: Run Tasks
|
- page: Run Tasks
|
||||||
path: running-tasks/run-tasks.mdx
|
path: running-tasks/run-tasks.mdx
|
||||||
- page: Visualizing Results
|
- page: Visualizing Results
|
||||||
path: running-tasks/visualizing-results.mdx
|
path: running-tasks/visualizing-results.mdx
|
||||||
- page: Cancel Task Runs
|
- page: Cancel Task Runs
|
||||||
path: running-tasks/cancel-runs.mdx
|
path: running-tasks/cancel-runs.mdx
|
||||||
- page: Webhooks FAQ
|
- page: Webhooks FAQ
|
||||||
path: running-tasks/webhooks-faq.mdx
|
path: running-tasks/webhooks-faq.mdx
|
||||||
- page: Advanced Settings for tasks
|
- page: Advanced Settings for tasks
|
||||||
hidden: true
|
hidden: true
|
||||||
path: running-tasks/advanced-features.mdx
|
path: running-tasks/advanced-features.mdx
|
||||||
- page: Legacy Task APIs
|
- page: Legacy Task APIs
|
||||||
hidden: true
|
hidden: true
|
||||||
path: running-tasks/api-spec.mdx
|
path: running-tasks/api-spec.mdx
|
||||||
- section: Workflows
|
- section: Workflows
|
||||||
contents:
|
contents:
|
||||||
- page: Manage Workflows
|
- page: Manage Workflows
|
||||||
path: workflows/manage-workflows.mdx
|
path: workflows/manage-workflows.mdx
|
||||||
- page: Workflow Blocks
|
- page: Workflow Blocks
|
||||||
path: workflows/workflow-blocks-details.mdx
|
path: workflows/workflow-blocks-details.mdx
|
||||||
- page: Workflow Parameters
|
- page: Workflow Parameters
|
||||||
path: workflows/workflow-parameters.mdx
|
path: workflows/workflow-parameters.mdx
|
||||||
- page: Run Workflows
|
- page: Run Workflows
|
||||||
path: workflows/run-workflows.mdx
|
path: workflows/run-workflows.mdx
|
||||||
- page: Consistency and Reliability
|
- page: Consistency and Reliability
|
||||||
path: workflows/consistent-workflows.mdx
|
path: workflows/consistent-workflows.mdx
|
||||||
- page: Running Workflows
|
- page: Running Workflows
|
||||||
path: workflows/running-workflows.mdx
|
path: workflows/running-workflows.mdx
|
||||||
hidden: true
|
hidden: true
|
||||||
- page: Introduction
|
- page: Introduction
|
||||||
path: workflows/introduction.mdx
|
path: workflows/introduction.mdx
|
||||||
hidden: true
|
hidden: true
|
||||||
- page: Workflow Blocks
|
- page: Workflow Blocks
|
||||||
path: workflows/workflow-blocks.mdx
|
path: workflows/workflow-blocks.mdx
|
||||||
hidden: true
|
hidden: true
|
||||||
- page: Creating Workflows
|
- page: Creating Workflows
|
||||||
path: workflows/creating-workflows.mdx
|
path: workflows/creating-workflows.mdx
|
||||||
hidden: true
|
hidden: true
|
||||||
- page: Getting Existing Workflows
|
- page: Getting Existing Workflows
|
||||||
path: workflows/getting-workflows.mdx
|
path: workflows/getting-workflows.mdx
|
||||||
hidden: true
|
hidden: true
|
||||||
- page: What the heck is a parameter?
|
- page: What the heck is a parameter?
|
||||||
path: workflows/what-is-a-parameter.mdx
|
path: workflows/what-is-a-parameter.mdx
|
||||||
hidden: true
|
hidden: true
|
||||||
- section: Credentials
|
- section: Credentials
|
||||||
contents:
|
contents:
|
||||||
- page: Overview
|
- page: Overview
|
||||||
path: credentials/introduction.mdx
|
path: credentials/introduction.mdx
|
||||||
- page: Password Management
|
- page: Password Management
|
||||||
path: credentials/passwords.mdx
|
path: credentials/passwords.mdx
|
||||||
- page: Credit Card Management
|
- page: Credit Card Management
|
||||||
path: credentials/credit-cards.mdx
|
path: credentials/credit-cards.mdx
|
||||||
- page: 2FA Support (TOTP)
|
- page: 2FA Support (TOTP)
|
||||||
path: credentials/totp.mdx
|
path: credentials/totp.mdx
|
||||||
- page: Bitwarden
|
- page: Bitwarden
|
||||||
path: credentials/bitwarden.mdx
|
path: credentials/bitwarden.mdx
|
||||||
- section: Browser Sessions (Beta)
|
- section: Browser Sessions (Beta)
|
||||||
contents:
|
contents:
|
||||||
- page: Introduction
|
- page: Introduction
|
||||||
path: browser-sessions/introduction.mdx
|
path: browser-sessions/introduction.mdx
|
||||||
- section: Integrations
|
- section: Integrations
|
||||||
contents:
|
contents:
|
||||||
- page: Skyvern MCP
|
- page: Skyvern MCP
|
||||||
path: integrations/mcp.mdx
|
path: integrations/mcp.mdx
|
||||||
- page: Zapier
|
- page: Zapier
|
||||||
path: integrations/zapier.mdx
|
path: integrations/zapier.mdx
|
||||||
- page: Make
|
- page: Make
|
||||||
path: integrations/make.com.mdx
|
path: integrations/make.com.mdx
|
||||||
- page: N8N
|
- page: N8N
|
||||||
path: integrations/n8n.mdx
|
path: integrations/n8n.mdx
|
||||||
- page: Workato
|
- page: Workato
|
||||||
path: integrations/workato.mdx
|
path: integrations/workato.mdx
|
||||||
- tab: api
|
- tab: api
|
||||||
layout:
|
layout:
|
||||||
- api: API Reference
|
- api: API Reference
|
||||||
@@ -154,37 +154,37 @@ navigation:
|
|||||||
layout:
|
layout:
|
||||||
- section: Agent
|
- section: Agent
|
||||||
contents:
|
contents:
|
||||||
- POST /v1/run/tasks
|
- POST /v1/run/tasks
|
||||||
- GET /v1/runs/{run_id}
|
- GET /v1/runs/{run_id}
|
||||||
- POST /v1/runs/{run_id}/cancel
|
- POST /v1/runs/{run_id}/cancel
|
||||||
- POST /v1/runs/{run_id}/retry_webhook
|
- POST /v1/runs/{run_id}/retry_webhook
|
||||||
- section: Workflows
|
- section: Workflows
|
||||||
contents:
|
contents:
|
||||||
- POST /v1/run/workflows
|
- POST /v1/run/workflows
|
||||||
- GET /v1/workflows
|
- GET /v1/workflows
|
||||||
- POST /v1/workflows
|
- POST /v1/workflows
|
||||||
- POST /v1/workflows/{workflow_id}
|
- POST /v1/workflows/{workflow_id}
|
||||||
- POST /v1/workflows/{workflow_id}/delete
|
- POST /v1/workflows/{workflow_id}/delete
|
||||||
- section: Artifacts
|
- section: Artifacts
|
||||||
contents:
|
contents:
|
||||||
- GET /v1/artifacts/{artifact_id}
|
- GET /v1/artifacts/{artifact_id}
|
||||||
- section: Browser Session
|
- section: Browser Session
|
||||||
contents:
|
contents:
|
||||||
- GET /v1/browser_sessions
|
- GET /v1/browser_sessions
|
||||||
- POST /v1/browser_sessions
|
- POST /v1/browser_sessions
|
||||||
- POST /v1/browser_sessions/{browser_session_id}/close
|
- POST /v1/browser_sessions/{browser_session_id}/close
|
||||||
- GET /v1/browser_sessions/{browser_session_id}
|
- GET /v1/browser_sessions/{browser_session_id}
|
||||||
- section: Credentials
|
- section: Credentials
|
||||||
contents:
|
contents:
|
||||||
- POST /v1/credentials/totp
|
- POST /v1/credentials/totp
|
||||||
- GET /v1/credentials
|
- GET /v1/credentials
|
||||||
- POST /v1/credentials
|
- POST /v1/credentials
|
||||||
- POST /v1/credentials/{credential_id}/delete
|
- POST /v1/credentials/{credential_id}/delete
|
||||||
- GET /v1/credentials/{credential_id}
|
- GET /v1/credentials/{credential_id}
|
||||||
- tab: blog
|
- tab: blog
|
||||||
- tab: community
|
- tab: community
|
||||||
- tab: github
|
- tab: github
|
||||||
- tab: cloud
|
- tab: cloud
|
||||||
- tab: demo
|
- tab: demo
|
||||||
experimental:
|
experimental:
|
||||||
openapi-parser-v3: true
|
openapi-parser-v3: true
|
||||||
|
|||||||
@@ -1,21 +1,17 @@
|
|||||||
# yaml-language-server: $schema=https://schema.buildwithfern.dev/generators-yml.json
|
# yaml-language-server: $schema=https://schema.buildwithfern.dev/generators-yml.json
|
||||||
|
|
||||||
auth-schemes:
|
auth-schemes:
|
||||||
ApiKeyScheme:
|
ApiKeyScheme:
|
||||||
header: x-api-key
|
header: x-api-key
|
||||||
type: string
|
type: string
|
||||||
name: x-api-key
|
name: x-api-key
|
||||||
|
api:
|
||||||
api:
|
|
||||||
auth: ApiKeyScheme
|
auth: ApiKeyScheme
|
||||||
specs:
|
specs:
|
||||||
- openapi: openapi/skyvern_openapi.json
|
- openapi: openapi/skyvern_openapi.json
|
||||||
origin: https://api.skyvern.com/openapi.json
|
origin: https://api.skyvern.com/openapi.json
|
||||||
overrides: openapi/overrides.yml
|
overrides: openapi/overrides.yml
|
||||||
settings:
|
settings:
|
||||||
title-as-schema-name: false
|
title-as-schema-name: false
|
||||||
|
|
||||||
|
|
||||||
groups:
|
groups:
|
||||||
python-sdk:
|
python-sdk:
|
||||||
generators:
|
generators:
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
security:
|
security:
|
||||||
- ApiKeyScheme: []
|
- ApiKeyScheme: []
|
||||||
|
|||||||
1077
integrations/n8n/pnpm-lock.yaml
generated
1077
integrations/n8n/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user