Skip to content

Commit 7d70360

Browse files
Merge branch 'main' into dependabot/pip/urllib3-2.7.0
2 parents 655f67a + 910b424 commit 7d70360

4 files changed

Lines changed: 45 additions & 20 deletions

File tree

.github/workflows/publish-to-testpypi.yaml

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,17 @@ name: Publish Pre-Release to TestPyPI
33
on: workflow_dispatch
44

55
jobs:
6-
publish:
7-
name: Build
6+
build:
7+
name: Build distribution
88
runs-on: ubuntu-latest
9-
10-
# This environment is required as an input to pypa/gh-action-pypi-publish
11-
environment:
12-
name: testpypi
13-
url: https://test.pypi.org/p/seclab-taskflow-agent
9+
outputs:
10+
release_name: ${{ steps.create_version_number.outputs.RELEASE_NAME }}
1411

1512
env:
1613
GITHUB_REPO: ${{ github.repository }}
1714

1815
permissions:
19-
contents: write
20-
id-token: write # For trusted publishing
21-
attestations: write # For artifact attestation
16+
contents: read
2217

2318
steps:
2419
- name: Checkout repository
@@ -29,7 +24,7 @@ jobs:
2924
- name: Set up Python
3025
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
3126
with:
32-
python-version: "3.13"
27+
python-version: "3.14"
3328

3429
- name: Install Hatch
3530
run: pip install --upgrade hatch
@@ -52,17 +47,42 @@ jobs:
5247
- name: Build the wheel
5348
run: python3 -m hatch build
5449

55-
- name: Attest build provenance
56-
uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0
57-
with:
58-
subject-path: ./dist/*
59-
6050
- name: Upload artifacts
6151
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
6252
with:
6353
name: python-package-distributions
6454
path: ./dist/
6555

56+
publish:
57+
name: Publish to TestPyPI
58+
needs: build
59+
runs-on: ubuntu-latest
60+
61+
# This environment is required as an input to pypa/gh-action-pypi-publish
62+
environment:
63+
name: testpypi
64+
url: https://test.pypi.org/p/seclab-taskflow-agent
65+
66+
env:
67+
GITHUB_REPO: ${{ github.repository }}
68+
69+
permissions:
70+
contents: write
71+
id-token: write # For trusted publishing
72+
attestations: write # For artifact attestation
73+
74+
steps:
75+
- name: Download distribution artifacts
76+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
77+
with:
78+
name: python-package-distributions
79+
path: ./dist/
80+
81+
- name: Attest build provenance
82+
uses: actions/attest@v4.1.0 # immutable release
83+
with:
84+
subject-path: ./dist/*
85+
6686
- name: Publish to TestPyPI
6787
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
6888
with:
@@ -72,5 +92,5 @@ jobs:
7292
- name: Create GitHub Release
7393
env:
7494
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
75-
RELEASE_NAME: ${{ steps.create_version_number.outputs.RELEASE_NAME }}
95+
RELEASE_NAME: ${{ needs.build.outputs.release_name }}
7696
run: gh release create $RELEASE_NAME dist/* --repo $GITHUB_REPO --prerelease --generate-notes

examples/model_configs/model_config.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@ seclab-taskflow-agent:
55
version: "1.0"
66
filetype: model_config
77
models:
8-
gpt_default: gpt-4.1
9-
8+
gpt_default: gpt-5.4-mini
9+
model_settings:
10+
gpt_default:
11+
api_type: responses

examples/model_configs/responses_api.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ seclab-taskflow-agent:
99
version: "1.0"
1010
filetype: model_config
1111
models:
12-
gpt_responses: gpt-5-mini
12+
gpt_responses: gpt-5.4
1313
model_settings:
1414
gpt_responses:
1515
api_type: responses

src/seclab_taskflow_agent/runner.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,9 @@ async def deploy_task_agents(
462462
continue
463463
except Exception:
464464
logging.exception("Exception in mcp server cleanup task")
465+
# Yield to give mcp_session_task a chance to finish after being
466+
# signalled, especially when there are no servers to clean up.
467+
await asyncio.sleep(0)
465468
# If the MCP session task is still running (e.g. all servers were
466469
# already disconnected and the cleanup loop above never entered)
467470
# cancel it explicitly so a dangling task can't keep the event

0 commit comments

Comments
 (0)