Skip to content

Revert "Add GitHub Copilot agent workflows for PR verification, daily code review, and issue triage" #376

Revert "Add GitHub Copilot agent workflows for PR verification, daily code review, and issue triage"

Revert "Add GitHub Copilot agent workflows for PR verification, daily code review, and issue triage" #376

Workflow file for this run

name: Durable Task SDK (durabletask)
on:
push:
branches:
- "main"
tags:
- "v*" # Only run for tags starting with "v"
pull_request:
branches:
- "main"
permissions:
contents: read
jobs:
lint-and-unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: 3.14
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel tox
pip install flake8
- name: Run flake8 Linter
working-directory: durabletask
run: flake8 .
- name: "Run flake8 linter: tests"
working-directory: tests/durabletask
run: flake8 .
- name: "Run flake8 linter: examples"
working-directory: examples
run: flake8 .
run-tests:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
needs: lint-and-unit-tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Set up Node.js (needed for Azurite)
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Cache npm
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-npm-azurite
- name: Install Azurite
run: npm install -g azurite
- name: Start Azurite
shell: bash
run: |
azurite-blob --silent --blobPort 10000 &
sleep 2
- name: Install durabletask dependencies and the library itself
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
pip install -r requirements.txt
pip install ".[azure-blob-payloads]"
pip install aiohttp
- name: Pytest unit tests
working-directory: tests/durabletask
run: |
pytest -m "not dts" --verbose
publish-release:
if: startsWith(github.ref, 'refs/tags/v') # Only run if a matching tag is pushed
needs: run-tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Extract version from tag
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV # Extract version from the tag
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14" # Adjust Python version as needed
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Build package from root directory
run: |
python -m build
- name: Check package
run: |
twine check dist/*
- name: Publish package to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} # Store your PyPI API token in GitHub Secrets
run: |
twine upload dist/*