pull/388/head
Wyatt Stanke 11 months ago
parent 1aebbe0777
commit faedd6b858
No known key found for this signature in database
GPG Key ID: CE6BA5FFF135536D

@ -1,6 +1,5 @@
--- ---
# These are supported funding model platforms # These are supported funding model platforms
github: [kyegomez] github: [kyegomez]
# patreon: # Replace with a single Patreon username # patreon: # Replace with a single Patreon username
# open_collective: # Replace with a single Open Collective username # open_collective: # Replace with a single Open Collective username

@ -1,3 +1,4 @@
---
name: "Init Environment" name: "Init Environment"
description: "Initialize environment for tests" description: "Initialize environment for tests"
runs: runs:
@ -5,31 +6,26 @@ runs:
steps: steps:
- name: Checkout actions - name: Checkout actions
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Install and configure Poetry - name: Install and configure Poetry
uses: snok/install-poetry@v1 uses: snok/install-poetry@v1
with: with:
virtualenvs-create: true virtualenvs-create: true
virtualenvs-in-project: true virtualenvs-in-project: true
installer-parallel: true installer-parallel: true
- name: Load cached venv - name: Load cached venv
id: cached-poetry-dependencies id: cached-poetry-dependencies
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
path: .venv path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies - name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root --with test --with dev --all-extras run: poetry install --no-interaction --no-root --with test --with dev --all-extras
shell: bash shell: bash
- name: Activate venv - name: Activate venv
run: | run: |
source .venv/bin/activate source .venv/bin/activate

@ -1,13 +1,11 @@
--- ---
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates # https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
version: 2 version: 2
updates: updates:
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:
interval: "weekly" interval: "weekly"
- package-ecosystem: "pip" - package-ecosystem: "pip"
directory: "/" directory: "/"
schedule: schedule:

@ -4,10 +4,8 @@
# Add 'label1' to any changes within 'example' folder or any subfolders # Add 'label1' to any changes within 'example' folder or any subfolders
example_change: example_change:
- example/** - example/**
# Add 'label2' to any file changes within 'example2' folder # Add 'label2' to any file changes within 'example2' folder
example2_change: example2/* example2_change: example2/*
# Add label3 to any change to .txt files within the entire repository. # Add label3 to any change to .txt files within the entire repository.
# Quotation marks are required for the leading asterisk # Quotation marks are required for the leading asterisk
text_files: text_files:

@ -1,5 +1,5 @@
---
name: release name: release
on: on:
pull_request: pull_request:
types: types:
@ -8,10 +8,8 @@ on:
- master - master
paths: paths:
- 'pyproject.toml' - 'pyproject.toml'
env: env:
POETRY_VERSION: "1.4.2" POETRY_VERSION: "1.4.2"
jobs: jobs:
if_release: if_release:
if: | if: |
@ -45,5 +43,5 @@ jobs:
- name: Publish to PyPI - name: Publish to PyPI
env: env:
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }} POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }}
run: | run: |-
poetry publish poetry publish

@ -1,3 +1,4 @@
---
# This workflow uses actions that are not certified by GitHub. # This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by # They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support # separate terms of service, privacy policy, and support
@ -12,7 +13,6 @@
# https://github.com/codacy/codacy-analysis-cli. # https://github.com/codacy/codacy-analysis-cli.
name: Codacy Security Scan name: Codacy Security Scan
on: on:
push: push:
branches: ["master"] branches: ["master"]
@ -21,10 +21,8 @@ on:
branches: ["master"] branches: ["master"]
schedule: schedule:
- cron: '18 23 * * 4' - cron: '18 23 * * 4'
permissions: permissions:
contents: read contents: read
jobs: jobs:
codacy-security-scan: codacy-security-scan:
permissions: permissions:
@ -37,7 +35,6 @@ jobs:
# Checkout the repository to the GitHub Actions runner # Checkout the repository to the GitHub Actions runner
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis # Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI - name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@33d455949345bddfdb845fba76b57b70cc83754b uses: codacy/codacy-analysis-cli-action@33d455949345bddfdb845fba76b57b70cc83754b
@ -53,7 +50,6 @@ jobs:
# Force 0 exit code to allow SARIF file generation # Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side # This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647 max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step # Upload the SARIF file generated in the previous step
- name: Upload SARIF results file - name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@v3 uses: github/codeql-action/upload-sarif@v3

@ -1,3 +1,4 @@
---
# For most projects, this workflow file will not need changing; you simply need # For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository. # to commit it to your repository.
# #
@ -10,7 +11,6 @@
# supported CodeQL languages. # supported CodeQL languages.
# #
name: "CodeQL" name: "CodeQL"
on: on:
push: push:
branches: ["master"] branches: ["master"]
@ -19,7 +19,6 @@ on:
branches: ["master"] branches: ["master"]
schedule: schedule:
- cron: '33 12 * * 5' - cron: '33 12 * * 5'
jobs: jobs:
analyze: analyze:
name: Analyze name: Analyze
@ -34,7 +33,6 @@ jobs:
actions: read actions: read
contents: read contents: read
security-events: write security-events: write
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -43,11 +41,9 @@ jobs:
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v3 uses: github/codeql-action/init@v3
@ -56,16 +52,13 @@ jobs:
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file. # By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file. # Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v3 # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@ -75,7 +68,6 @@ jobs:
# - run: | # - run: |
# echo "Run, Build Application using script" # echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh # ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3 uses: github/codeql-action/analyze@v3
with: with:

@ -1,5 +1,5 @@
---
name: Docs WorkAgent name: Docs WorkAgent
on: on:
push: push:
branches: branches:

@ -1,3 +1,4 @@
---
# This workflow will triage pull requests and apply a label based on the # This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request. # paths that are modified in the pull request.
# #
@ -7,15 +8,12 @@
name: Labeler name: Labeler
on: [pull_request_target] on: [pull_request_target]
jobs: jobs:
label: label:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/labeler@v5 - uses: actions/labeler@v5
with: with:

@ -1,8 +1,6 @@
---
name: Lint name: Lint
on: [push, pull_request] # yamllint disable-line rule:truthy on: [push, pull_request] # yamllint disable-line rule:truthy
jobs: jobs:
yaml-lint: yaml-lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest

@ -1,9 +1,8 @@
---
name: "PR Labeler" name: "PR Labeler"
on: on:
pull_request_target: pull_request_target:
types: ["opened", "reopened", "ready_for_review"] types: ["opened", "reopened", "ready_for_review"]
jobs: jobs:
triage: triage:
permissions: permissions:

@ -1,29 +1,21 @@
---
name: Pull Request Checks name: Pull Request Checks
on: on:
pull_request: pull_request:
branches: branches:
- master - master
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: 3.x python-version: 3.x
- name: Install dependencies - name: Install dependencies
run: | run: "pip install -r requirements.txt\npip install swarms\npip install pytest \n"
pip install -r requirements.txt
pip install swarms
pip install pytest
- name: Run tests and checks - name: Run tests and checks
run: | run: |
pytest pytest

@ -1,3 +1,4 @@
---
name: readthedocs/actions name: readthedocs/actions
on: on:
pull_request_target: pull_request_target:
@ -5,10 +6,8 @@ on:
- opened - opened
paths: paths:
- "docs/**" - "docs/**"
permissions: permissions:
pull-requests: write pull-requests: write
jobs: jobs:
pull-request-links: pull-request-links:
runs-on: ubuntu-latest runs-on: ubuntu-latest

@ -1,7 +1,6 @@
---
name: Pylint name: Pylint
on: [push] on: [push]
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest

@ -1,22 +1,18 @@
---
# This workflow will install Python dependencies, run tests and lint with a single version of Python # This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Python application name: Python application
on: on:
push: push:
branches: ["master"] branches: ["master"]
pull_request: pull_request:
branches: ["master"] branches: ["master"]
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python 3.10 - name: Set up Python 3.10

@ -1,23 +1,20 @@
---
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Python package name: Python package
on: on:
push: push:
branches: ["master"] branches: ["master"]
pull_request: pull_request:
branches: ["master"] branches: ["master"]
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
python-version: ["3.7", "3.9", "3.10", "3.11"] python-version: ["3.7", "3.9", "3.10", "3.11"]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
@ -37,5 +34,5 @@ jobs:
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest - name: Test with pytest
run: | run: |-
pytest pytest

@ -1,17 +1,13 @@
---
name: Upload Python Package name: Upload Python Package
on: # yamllint disable-line rule:truthy on: # yamllint disable-line rule:truthy
release: release:
types: [published] types: [published]
permissions: permissions:
contents: read contents: read
jobs: jobs:
deploy: deploy:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python - name: Set up Python

@ -1,22 +1,19 @@
---
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. # This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
# #
# You can adjust the behavior by modifying this file. # You can adjust the behavior by modifying this file.
# For more information, see: # For more information, see:
# https://github.com/actions/stale # https://github.com/actions/stale
name: Mark stale issues and pull requests name: Mark stale issues and pull requests
on: on:
schedule: schedule:
- cron: '26 12 * * *' - cron: '26 12 * * *'
jobs: jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
issues: write issues: write
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v9
with: with:

@ -1,23 +1,20 @@
---
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. # This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
# #
# You can adjust the behavior by modifying this file. # You can adjust the behavior by modifying this file.
# For more information, see: # For more information, see:
# https://github.com/actions/stale # https://github.com/actions/stale
name: Mark stale issues and pull requests name: Mark stale issues and pull requests
on: on:
schedule: schedule:
# Scheduled to run at 1.30 UTC everyday # Scheduled to run at 1.30 UTC everyday
- cron: '30 1 * * *' - cron: '30 1 * * *'
jobs: jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
issues: write issues: write
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v9
with: with:
@ -28,22 +25,25 @@ jobs:
close-issue-reason: not_planned close-issue-reason: not_planned
any-of-labels: "status:awaiting user response,status:more data needed" any-of-labels: "status:awaiting user response,status:more data needed"
stale-issue-message: > stale-issue-message: >
Marking this issue as stale since it has been open for 14 days with no activity. Marking this issue as stale since it has been open for 14 days with no activity. This issue will be closed if no further
This issue will be closed if no further activity occurs. activity occurs.
close-issue-message: > close-issue-message: >
This issue was closed because it has been inactive for 28 days. This issue was closed because it has been inactive for 28 days. Please post a new issue if you need further assistance.
Please post a new issue if you need further assistance. Thanks! Thanks!
days-before-pr-stale: 14 days-before-pr-stale: 14
days-before-pr-close: 14 days-before-pr-close: 14
stale-pr-label: "status:stale" stale-pr-label: "status:stale"
stale-pr-message: > stale-pr-message: >
Marking this pull request as stale since it has been open for 14 days with no activity. Marking this pull request as stale since it has been open for 14 days with no activity. This PR will be closed if no
This PR will be closed if no further activity occurs. further activity occurs.
close-pr-message: > close-pr-message: >
This pull request was closed because it has been inactive for 28 days. This pull request was closed because it has been inactive for 28 days. Please open a new pull request if you need further
Please open a new pull request if you need further assistance. Thanks! assistance. Thanks!
# Label that can be assigned to issues to exclude them from being marked as stale # Label that can be assigned to issues to exclude them from being marked as stale
exempt-issue-labels: 'override-stale' exempt-issue-labels: 'override-stale'
# Label that can be assigned to PRs to exclude them from being marked as stale # Label that can be assigned to PRs to exclude them from being marked as stale
exempt-pr-labels: "override-stale" exempt-pr-labels: "override-stale"

@ -1,14 +1,12 @@
---
name: test name: test
on: on:
push: push:
branches: [master] branches: [master]
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:
env: env:
POETRY_VERSION: "1.4.2" POETRY_VERSION: "1.4.2"
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -30,14 +28,9 @@ jobs:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
poetry-version: "1.4.2" poetry-version: "1.4.2"
cache-key: ${{ matrix.test_type }} cache-key: ${{ matrix.test_type }}
install-command: install-command: if [ "${{ matrix.test_type }}" == "core" ]; then echo "Running core tests, installing dependencies with
if [ "${{ matrix.test_type }}" == "core" ]; then poetry..." poetry install else echo "Running extended tests, installing dependencies with poetry..." poetry install -E
echo "Running core tests, installing dependencies with poetry..." extended_testing fi
poetry install
else
echo "Running extended tests, installing dependencies with poetry..."
poetry install -E extended_testing
fi
- name: Run ${{matrix.test_type}} tests - name: Run ${{matrix.test_type}} tests
run: | run: |
if [ "${{ matrix.test_type }}" == "core" ]; then if [ "${{ matrix.test_type }}" == "core" ]; then

@ -1,7 +1,7 @@
---
# Notebook-related checks # Notebook-related checks
name: Presubmit checks name: Presubmit checks
on: on:
# Relevant PRs # Relevant PRs
pull_request: pull_request:
@ -10,7 +10,6 @@ on:
- "tests/**" - "tests/**"
# Allow manual runs # Allow manual runs
workflow_dispatch: workflow_dispatch:
jobs: jobs:
test3_11: test3_11:
name: Test Py3.11 name: Test Py3.11

@ -1,27 +1,22 @@
---
name: Unit Tests name: Unit Tests
on: on:
push: push:
branches: branches:
- master - master
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: "3.10" python-version: "3.10"
- name: Install dependencies - name: Install dependencies
run: | run: |
pip install -r requirements.txt pip install -r requirements.txt
pip install pytest pip install pytest
- name: Run unit tests - name: Run unit tests
run: pytest run: pytest

@ -1,36 +1,27 @@
---
name: build name: build
on: on:
push: push:
branches: [main] branches: [main]
pull_request: pull_request:
branches: [main] branches: [main]
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Python - name: Setup Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.9' python-version: '3.9'
- name: Install dependencies - name: Install dependencies
run: | run: |
pip install -r requirements.txt pip install -r requirements.txt
pip install pytest pip install pytest
pip install swarms pip install swarms
- name: Run Python unit tests - name: Run Python unit tests
run: pytest run: pytest
- name: Verify that the Docker image for the action builds - name: Verify that the Docker image for the action builds
run: docker build . --file Dockerfile run: docker build . --file Dockerfile
- name: Verify integration test results - name: Verify integration test results
run: pytest run: pytest

@ -1,11 +1,10 @@
---
name: Welcome WorkAgent name: Welcome WorkAgent
on: on:
issues: issues:
types: [opened] types: [opened]
pull_request_target: pull_request_target:
types: [opened] types: [opened]
jobs: jobs:
build: build:
name: 👋 Welcome name: 👋 Welcome

@ -1,3 +1,4 @@
---
repos: repos:
- repo: https://github.com/ambv/black - repo: https://github.com/ambv/black
rev: 22.3.0 rev: 22.3.0
@ -7,7 +8,7 @@ repos:
rev: 'v0.0.255' rev: 'v0.0.255'
hooks: hooks:
- id: ruff - id: ruff
args: [----unsafe-fixes] args: ['----unsafe-fixes']
- repo: https://github.com/nbQA-dev/nbQA - repo: https://github.com/nbQA-dev/nbQA
rev: 1.6.3 rev: 1.6.3
hooks: hooks:

@ -1,13 +1,11 @@
---
version: 2 version: 2
build: build:
os: ubuntu-22.04 os: ubuntu-22.04
tools: tools:
python: "3.11" python: "3.11"
mkdocs: mkdocs:
configuration: mkdocs.yml configuration: mkdocs.yml
python: python:
install: install:
- requirements: requirements.txt - requirements: requirements.txt

@ -1,3 +1,4 @@
---
site_name: Swarms Docs site_name: Swarms Docs
plugins: plugins:
- glightbox - glightbox

Loading…
Cancel
Save