Skip to content

ci: skip SDK test matrices on markdown-only changes#2967

Merged
opieter-aws merged 1 commit into
strands-agents:mainfrom
opieter-aws:opieter-aws/ci-skip-md-only-sdk-runs
Jun 25, 2026
Merged

ci: skip SDK test matrices on markdown-only changes#2967
opieter-aws merged 1 commit into
strands-agents:mainfrom
opieter-aws:opieter-aws/ci-skip-md-only-sdk-runs

Conversation

@opieter-aws

@opieter-aws opieter-aws commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description

Don't run the entire integ test suite on markdown changes only. See e.g. #2959

Verified all test suites run as expected when .md changes are combined with source code changes.

Related Issues

Motivated by the CI behavior observed on #2959.

Documentation PR

Not applicable.

Type of Change

Other (please describe): CI configuration — refine merge-gate path filtering.

Testing

Cannot run the merge gate locally, but I traced the edited filters against the real paths-filter matching algorithm (per-pattern picomatch({dot:true}), OR-ed under the some quantifier) for representative change-sets:

  • strands-py/AGENTS.md only → python does not fire (intended)
  • strands-py/src/strands/agent/agent.py → python fires (intended)
  • strands-py/AGENTS.md + …/agent.py together → python fires — the critical mixed case: any non-.md file in the changeset still triggers the suite
  • strands-ts/AGENTS.md only → typescript does not fire (intended)
  • site/** → docs fires, SDK suites do not (unchanged)

Note: because every filter lists .github/workflows/ci.yml, this PR itself will (correctly) trigger all three suites.

  • I ran hatch run prepare

Checklist

  • I have read the CONTRIBUTING document
  • I have reviewed and understand every line of code in this PR, including any generated by AI tools, and I can explain why it works
  • My change is focused and reasonably small; I have split unrelated work into separate PRs
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@github-actions github-actions Bot added size/xs chore Maintenance tasks, dependency updates, CI changes, refactoring with no user-facing impact area-community Related to community and contributor health labels Jun 25, 2026
@opieter-aws opieter-aws marked this pull request as ready for review June 25, 2026 19:25
@opieter-aws opieter-aws removed the area-community Related to community and contributor health label Jun 25, 2026
Comment thread .github/workflows/ci.yml
@opieter-aws opieter-aws enabled auto-merge (squash) June 25, 2026 19:28
@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Comment thread .github/workflows/ci.yml
@github-actions

Copy link
Copy Markdown
Contributor

Assessment: Approve

Focused, correct CI change. I reproduced the paths-filter matching behavior locally with picomatch (both v2.3.2 and v4.0.4) under {dot: true} and confirmed the extglob does exactly what the PR claims — including the critical mixed-changeset case.

What I verified
  • strands-py/**/!(*.md) excludes .md at every depth (AGENTS.md, README.md, docs/*.md, a/b/c.md).
  • Non-.md files match at every depth, including no-extension (Makefile) and dotfiles (.gitignore).
  • Top-level non-.md with zero intermediate dirs (e.g. conftest.py) still matches — so a mixed .md + source changeset correctly fires the suite.
  • The inline comment's warning about a bare !**/*.md negation is accurate and worth keeping.
  • The python-check-markdown-links workflow is schedule/workflow_dispatch-triggered, not gated by ci.yml, so markdown link checking is unaffected by this change.

One minor, non-blocking consistency nit left inline (strandly/**). Nice, well-reasoned change with the manual verification documented in the description.

@opieter-aws opieter-aws merged commit bbaee8b into strands-agents:main Jun 25, 2026
53 of 77 checks passed
@opieter-aws opieter-aws deleted the opieter-aws/ci-skip-md-only-sdk-runs branch June 25, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance tasks, dependency updates, CI changes, refactoring with no user-facing impact size/xs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants