aws-test-plugin 0.1.1__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.claude-plugin/marketplace.json +1 -1
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.claude-plugin/plugin.json +1 -1
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.github/workflows/publish.yml +2 -24
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/CONTRIBUTING.md +4 -4
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/PKG-INFO +2 -2
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/README.md +1 -1
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/pyproject.toml +1 -1
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/src/aws_test_plugin/__init__.py +1 -1
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/tests/test_cli.py +0 -16
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/uv.lock +2 -2
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.gitattributes +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.github/CODEOWNERS +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.github/pull_request_template.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.github/workflows/ci.yml +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.github/workflows/codeql.yml +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.gitignore +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/.python-version +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/LICENSE +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/PLAN.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/agents/aws-test-engineer.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-contract-testing/SKILL.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-contract-testing/references/openapi-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-e2e-testing/SKILL.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-e2e-testing/references/api-gateway-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-e2e-testing/references/batch-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-e2e-testing/references/step-function-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/SKILL.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/references/lambda-dynamodb-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/references/lambda-eventbridge-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/references/lambda-kinesis-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/references/lambda-rds-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/references/lambda-s3-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/references/lambda-sns-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-integration-testing/references/lambda-sqs-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-perf-load-testing/SKILL.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-perf-load-testing/references/benchmark-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-perf-load-testing/references/locust-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-test-orchestrator/SKILL.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-test-orchestrator/references/secrets-and-config.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-unit-testing/SKILL.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-unit-testing/references/boundary-branch-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-unit-testing/references/edge-case-patterns.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/src/aws_test_plugin/AGENTS.md +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/src/aws_test_plugin/cli.py +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/src/aws_test_plugin/scripts/analyze_results.py +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/src/aws_test_plugin/scripts/run_tests.py +0 -0
- {aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/src/aws_test_plugin/scripts/scaffold.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aws-test-plugin",
|
|
3
3
|
"description": "AI-powered test generation skills for AWS Python projects — Lambda, API Gateway, Step Functions, and Batch. Generates E2E, integration, contract, performance, and load tests by reading actual handler code.",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "whitewhiteqq"
|
|
7
7
|
},
|
|
@@ -1,38 +1,16 @@
|
|
|
1
1
|
name: Publish to PyPI
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
- "v*"
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
7
6
|
|
|
8
7
|
permissions:
|
|
9
8
|
contents: read
|
|
10
9
|
id-token: write # Required for trusted publishing
|
|
11
10
|
|
|
12
11
|
jobs:
|
|
13
|
-
verify-release-tag:
|
|
14
|
-
name: Verify release tag is on main
|
|
15
|
-
runs-on: ubuntu-latest
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- name: Checkout
|
|
19
|
-
uses: actions/checkout@v4
|
|
20
|
-
with:
|
|
21
|
-
fetch-depth: 0
|
|
22
|
-
|
|
23
|
-
- name: Verify tag commit is reachable from main
|
|
24
|
-
shell: bash
|
|
25
|
-
run: |
|
|
26
|
-
git fetch origin main --depth=1
|
|
27
|
-
release_commit=$(git rev-list -n 1 "$GITHUB_REF")
|
|
28
|
-
if ! git merge-base --is-ancestor "$release_commit" "origin/main"; then
|
|
29
|
-
echo "Release tags must point to a commit on origin/main."
|
|
30
|
-
exit 1
|
|
31
|
-
fi
|
|
32
|
-
|
|
33
12
|
build:
|
|
34
13
|
name: Build distribution
|
|
35
|
-
needs: verify-release-tag
|
|
36
14
|
runs-on: ubuntu-latest
|
|
37
15
|
|
|
38
16
|
steps:
|
|
@@ -130,7 +130,7 @@ Principles:
|
|
|
130
130
|
- Default to `Rebase and merge` for pull requests into `develop` so that every individual commit — and its reasoning — is preserved in the public history. Use `Squash and merge` only when the branch contains exploratory or fixup commits that add no lasting value; when squashing, the single merge commit must capture all essential context from the branch (see Commit Message Style).
|
|
131
131
|
- Avoid GitHub merge commits for routine pull requests because they create noisy branch divergence and a less readable graph.
|
|
132
132
|
- Promote releases from `develop` to `main` with a maintainer-run fast-forward update so both branches share identical history.
|
|
133
|
-
- Tag every release on `main` with an annotated tag (`git tag -a v0.1.0 -m "..."`).
|
|
133
|
+
- Tag every release on `main` with an annotated tag (`git tag -a v0.1.0 -m "..."`). Then create a GitHub Release targeting that tag — creating the Release is the PyPI publish trigger. Releases follow one path only: feature branch -> `develop` -> `main` -> version tag -> GitHub Release -> PyPI. The tag message should summarize what shipped, key decisions made since the prior release, and any known limitations. Annotated tags are git objects — they survive cloning and forking, unlike GitHub-only release notes.
|
|
134
134
|
|
|
135
135
|
## Commit Message Style
|
|
136
136
|
|
|
@@ -267,7 +267,7 @@ must also land in the commit messages that enter `develop`.
|
|
|
267
267
|
6. Submit a pull request to `develop` using `.github/pull_request_template.md`
|
|
268
268
|
7. Merge pull requests with `Rebase and merge` (preferred — preserves individual commit reasoning) or `Squash and merge` (only when intermediate commits are noise); do not use merge commits
|
|
269
269
|
8. Release `develop` to `main` with a maintainer-run fast-forward update after CI passes on `develop`; use `git merge --ff-only develop` from a local checkout of `main` so `main` advances without rewriting or duplicating commit history
|
|
270
|
-
9. Create and push an annotated version tag from `main
|
|
270
|
+
9. Create and push an annotated version tag from `main`, then create a GitHub Release targeting that tag; the Release is the PyPI publish trigger
|
|
271
271
|
10. Review responsibility is assigned through `.github/CODEOWNERS`
|
|
272
272
|
|
|
273
273
|
## Maintainer Notes
|
|
@@ -275,12 +275,12 @@ must also land in the commit messages that enter `develop`.
|
|
|
275
275
|
- Protect `main` and `develop` against direct pushes.
|
|
276
276
|
- Enable `Rebase and merge` (preferred) and `Squash and merge` (fallback) for contributor pull requests into `develop`. Disable `Create a merge commit` to enforce linear history.
|
|
277
277
|
- Do not rely on GitHub merge buttons for release promotion to `main`; use a local `git merge --ff-only develop` followed by `git push origin main`.
|
|
278
|
-
- Do not publish to PyPI from a feature branch or from `develop`. PyPI releases are
|
|
278
|
+
- Do not publish to PyPI from a feature branch or from `develop`. PyPI releases are triggered only by creating a GitHub Release after `develop` has been fast-forwarded into `main` and an annotated `v*` tag has been pushed from that `main` commit.
|
|
279
279
|
- Configure `develop` branch protection or rulesets to require linear history and the CI checks `Test (Python 3.10)`, `Test (Python 3.11)`, `Test (Python 3.12)`, `Test (Python 3.13)`, `Lint`, `Type Check`, and `Security`.
|
|
280
280
|
- Configure `main` so only maintainers can update it, with no force pushes or deletions.
|
|
281
281
|
- Keep release updates focused. Avoid mixing repository governance, experiments, and product changes in the same release.
|
|
282
282
|
- Do not rewrite shared branch history unless there is a clear operational reason and the change is communicated.
|
|
283
|
-
- After each fast-forward update to `main`, create an annotated tag
|
|
283
|
+
- After each fast-forward update to `main`, create an annotated tag, push it, and then create a GitHub Release targeting that tag to publish to PyPI:
|
|
284
284
|
```bash
|
|
285
285
|
git tag -a v<VERSION> -m "v<VERSION>: <one-line theme>
|
|
286
286
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aws-test-plugin
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: AI-powered test generation skills for AWS Python projects — works with Claude Code, GitHub Copilot, and Codex
|
|
5
5
|
Project-URL: Homepage, https://github.com/whitewhiteqq/aws-test-plugin
|
|
6
6
|
Project-URL: Repository, https://github.com/whitewhiteqq/aws-test-plugin
|
|
@@ -329,7 +329,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
|
329
329
|
## Review Flow
|
|
330
330
|
|
|
331
331
|
- Pull requests should target `develop`; maintainers promote `develop` to `main` with a fast-forward release update.
|
|
332
|
-
- PyPI publishing
|
|
332
|
+
- PyPI publishing is triggered by creating a GitHub Release targeting an annotated `v*` tag on `main`.
|
|
333
333
|
- Review ownership is defined in `.github/CODEOWNERS`.
|
|
334
334
|
- Pull request expectations are defined in `.github/pull_request_template.md`.
|
|
335
335
|
|
|
@@ -267,7 +267,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
|
267
267
|
## Review Flow
|
|
268
268
|
|
|
269
269
|
- Pull requests should target `develop`; maintainers promote `develop` to `main` with a fast-forward release update.
|
|
270
|
-
- PyPI publishing
|
|
270
|
+
- PyPI publishing is triggered by creating a GitHub Release targeting an annotated `v*` tag on `main`.
|
|
271
271
|
- Review ownership is defined in `.github/CODEOWNERS`.
|
|
272
272
|
- Pull request expectations are defined in `.github/pull_request_template.md`.
|
|
273
273
|
|
|
@@ -102,22 +102,6 @@ def test_skill_description_under_1024_chars():
|
|
|
102
102
|
assert len(desc) <= 1024, f"{skill.name}: description is {len(desc)} chars (max 1024)"
|
|
103
103
|
|
|
104
104
|
|
|
105
|
-
def test_skill_has_license():
|
|
106
|
-
"""Every SKILL.md should have a license field."""
|
|
107
|
-
skills_dir = _get_data_dir() / "skills"
|
|
108
|
-
for skill in skills_dir.iterdir():
|
|
109
|
-
if not skill.is_dir():
|
|
110
|
-
continue
|
|
111
|
-
skill_md = skill / "SKILL.md"
|
|
112
|
-
if not skill_md.exists():
|
|
113
|
-
continue
|
|
114
|
-
|
|
115
|
-
content = skill_md.read_text(encoding="utf-8")
|
|
116
|
-
parts = content.split("---", 2)
|
|
117
|
-
if len(parts) >= 3:
|
|
118
|
-
assert "license:" in parts[1], f"{skill.name}/SKILL.md missing license"
|
|
119
|
-
|
|
120
|
-
|
|
121
105
|
def test_skill_reference_links_resolve():
|
|
122
106
|
"""Reference file links in SKILL.md must point to existing files."""
|
|
123
107
|
skills_dir = _get_data_dir() / "skills"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
-
revision =
|
|
2
|
+
revision = 3
|
|
3
3
|
requires-python = ">=3.10"
|
|
4
4
|
resolution-markers = [
|
|
5
5
|
"python_full_version >= '3.11'",
|
|
@@ -76,7 +76,7 @@ wheels = [
|
|
|
76
76
|
|
|
77
77
|
[[package]]
|
|
78
78
|
name = "aws-test-plugin"
|
|
79
|
-
version = "0.1.
|
|
79
|
+
version = "0.1.1"
|
|
80
80
|
source = { editable = "." }
|
|
81
81
|
dependencies = [
|
|
82
82
|
{ name = "defusedxml" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/skills/aws-e2e-testing/references/batch-patterns.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_test_plugin-0.1.1 → aws_test_plugin-0.1.2}/src/aws_test_plugin/scripts/analyze_results.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|