diff --git a/.github/workflows/pr_labeler.yml b/.github/workflows/pr_labeler.yml new file mode 100644 index 00000000..19f18a19 --- /dev/null +++ b/.github/workflows/pr_labeler.yml @@ -0,0 +1,15 @@ +name: "PR Labeler" + +on: + pull_request_target: + types: ["opened", "reopened", "ready_for_review"] + +jobs: + triage: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v4 + if: ${{ github.event.pull_request.draft == false }} \ No newline at end of file diff --git a/.github/workflows/stale_isseue.yml b/.github/workflows/stale_isseue.yml new file mode 100644 index 00000000..e3b2e570 --- /dev/null +++ b/.github/workflows/stale_isseue.yml @@ -0,0 +1,49 @@ +# 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. +# For more information, see: +# https://github.com/actions/stale +name: Mark stale issues and pull requests + +on: + schedule: + # Scheduled to run at 1.30 UTC everyday + - cron: '30 1 * * *' + +jobs: + stale: + + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/stale@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + days-before-issue-stale: 14 + days-before-issue-close: 14 + stale-issue-label: "status:stale" + close-issue-reason: not_planned + any-of-labels: "status:awaiting user response,status:more data needed" + stale-issue-message: > + Marking this issue as stale since it has been open for 14 days with no activity. + This issue will be closed if no further activity occurs. + close-issue-message: > + This issue was closed because it has been inactive for 28 days. + Please post a new issue if you need further assistance. Thanks! + days-before-pr-stale: 14 + days-before-pr-close: 14 + stale-pr-label: "status:stale" + stale-pr-message: > + Marking this pull request as stale since it has been open for 14 days with no activity. + This PR will be closed if no further activity occurs. + close-pr-message: > + This pull request was closed because it has been inactive for 28 days. + Please open a new pull request if you need further assistance. Thanks! + # Label that can be assigned to issues to exclude them from being marked as stale + exempt-issue-labels: 'override-stale' + # Label that can be assigned to PRs to exclude them from being marked as stale + exempt-pr-labels: "override-stale" + \ No newline at end of file diff --git a/.github/workflows/test_pr.yml b/.github/workflows/test_pr.yml new file mode 100644 index 00000000..3a1307a3 --- /dev/null +++ b/.github/workflows/test_pr.yml @@ -0,0 +1,81 @@ +# Notebook-related checks + +name: Presubmit checks + +on: + # Relevant PRs + pull_request: + paths: + - "swarms/**" + - "tests/**" + # Allow manual runs + workflow_dispatch: + +jobs: + test3_11: + name: Test Py3.11 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.11' + - name: Run tests + run: | + python --version + pip install .[dev] + python -m pytest + test3_10: + name: Test Py3.10 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Run tests + run: | + python --version + pip install -q .[dev] + python -m pytest + test3_9: + name: Test Py3.9 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.9' + - name: Run tests + run: | + python --version + pip install .[dev] + python -m pytest + pytype3_10: + name: pytype 3.10 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Run pytype + run: | + python --version + pip install .[dev] + pip install -q gspread ipython + pytype + format: + name: Check format with black + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.11' + - name: Check format + run: | + python --version + pip install -q . + pip install -q black + black . --check