Skip to content

Commit bab6e10

Browse files
authored
Added GitHub Configs including workflows and issue templates. (#6)
* chore:Added GitHub Configs including workflows and issue templates.
1 parent 8812c38 commit bab6e10

File tree

9 files changed

+479
-0
lines changed

9 files changed

+479
-0
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Bug Report
2+
description: Report a bug in the Strands Agents Evals
3+
title: "[BUG] "
4+
labels: ["bug", "triage"]
5+
assignees: []
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to fill out this bug report for Strands Agents Evals!
11+
- type: checkboxes
12+
id: "checks"
13+
attributes:
14+
label: "Checks"
15+
options:
16+
- label: "I have updated to the lastest minor and patch version of Strands and evals"
17+
required: true
18+
- label: "I have checked the documentation and this is not expected behavior"
19+
required: true
20+
- label: "I have searched [./issues](./issues?q=) and there are no duplicates of my issue"
21+
required: true
22+
- type: input
23+
id: strands-version
24+
attributes:
25+
label: Strands Version
26+
description: Which version of Strands are you using?
27+
placeholder: e.g., 0.5.2
28+
validations:
29+
required: true
30+
- type: input
31+
id: strands-evals-version
32+
attributes:
33+
label: Strands Evals Version
34+
description: Which version of Strands Evals are you using?
35+
placeholder: e.g., 0.5.2
36+
validations:
37+
required: true
38+
- type: input
39+
id: python-version
40+
attributes:
41+
label: Python Version
42+
description: Which version of Python are you using?
43+
placeholder: e.g., 3.10.5
44+
validations:
45+
required: true
46+
- type: input
47+
id: os
48+
attributes:
49+
label: Operating System
50+
description: Which operating system are you using?
51+
placeholder: e.g., macOS 12.6
52+
validations:
53+
required: true
54+
- type: dropdown
55+
id: installation-method
56+
attributes:
57+
label: Installation Method
58+
description: How did you install Strands?
59+
options:
60+
- pip
61+
- git clone
62+
- binary
63+
- other
64+
- type: textarea
65+
id: steps-to-reproduce
66+
attributes:
67+
label: Steps to Reproduce
68+
description: Detailed steps to reproduce the behavior
69+
placeholder: |
70+
1. Code Snippet (Minimal reproducible example)
71+
2. Install Strands using...
72+
3. Run the command...
73+
4. See error...
74+
validations:
75+
required: true
76+
- type: textarea
77+
id: expected-behavior
78+
attributes:
79+
label: Expected Behavior
80+
description: A clear description of what you expected to happen
81+
validations:
82+
required: true
83+
- type: textarea
84+
id: actual-behavior
85+
attributes:
86+
label: Actual Behavior
87+
description: What actually happened
88+
validations:
89+
required: true
90+
- type: textarea
91+
id: additional-context
92+
attributes:
93+
label: Additional Context
94+
description: Any other relevant information, logs, screenshots, etc.
95+
- type: textarea
96+
id: possible-solution
97+
attributes:
98+
label: Possible Solution
99+
description: Optional - If you have suggestions on how to fix the bug
100+
- type: input
101+
id: related-issues
102+
attributes:
103+
label: Related Issues
104+
description: Optional - Link to related issues if applicable

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Strands Agents SDK Support
4+
url: https://github.com/strands-agents/sdk-python/discussions
5+
about: Please ask and answer questions here
6+
- name: Strands Agents SDK Documentation
7+
url: https://github.com/strands-agents/docs
8+
about: Visit our documentation for help
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Feature Request
2+
description: Suggest a new feature or enhancement for Strands Agents SDK
3+
title: "[FEATURE] "
4+
labels: ["enhancement", "triage"]
5+
assignees: []
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for suggesting a new feature for Strands Agents SDK!
11+
- type: textarea
12+
id: problem-statement
13+
attributes:
14+
label: Problem Statement
15+
description: Describe the problem you're trying to solve. What is currently difficult or impossible to do?
16+
placeholder: I would like Strands to...
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: proposed-solution
21+
attributes:
22+
label: Proposed Solution
23+
description: Optional - Describe your proposed solution in detail. How would this feature work?
24+
- type: textarea
25+
id: use-case
26+
attributes:
27+
label: Use Case
28+
description: Provide specific use cases for the feature. How would people use it?
29+
placeholder: This would help with...
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: alternatives-solutions
34+
attributes:
35+
label: Alternatives Solutions
36+
description: Optional - Have you considered alternative approaches? What are their pros and cons?
37+
- type: textarea
38+
id: additional-context
39+
attributes:
40+
label: Additional Context
41+
description: Include any other context, screenshots, code examples, or references that might help understand the feature request.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Description
2+
<!-- Provide a detailed description of the changes in this PR -->
3+
4+
## Related Issues
5+
6+
<!-- Link to related issues using #issue-number format -->
7+
8+
## Documentation PR
9+
10+
<!-- Link to related associated PR in the agent-docs repo -->
11+
12+
## Type of Change
13+
14+
<!-- Choose one of the following types of changes, delete the rest -->
15+
16+
Bug fix
17+
New feature
18+
Breaking change
19+
Documentation update
20+
Other (please describe):
21+
22+
## Testing
23+
24+
How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli
25+
26+
- [ ] I ran `hatch run prepare`
27+
28+
## Checklist
29+
- [ ] I have read the CONTRIBUTING document
30+
- [ ] I have added any necessary tests that prove my fix is effective or my feature works
31+
- [ ] I have updated the documentation accordingly
32+
- [ ] I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
33+
- [ ] My changes generate no new warnings
34+
- [ ] Any dependent changes have been merged and published
35+
36+
----
37+
38+
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

.github/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
open-pull-requests-limit: 100
8+
commit-message:
9+
prefix: ci
10+
groups:
11+
dev-dependencies:
12+
patterns:
13+
- "pytest"
14+
- package-ecosystem: "github-actions"
15+
directory: "/"
16+
schedule:
17+
interval: "daily"
18+
open-pull-requests-limit: 100
19+
commit-message:
20+
prefix: ci
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Secure Integration test
2+
3+
on:
4+
pull_request_target:
5+
branches: main
6+
7+
jobs:
8+
authorization-check:
9+
permissions: read-all
10+
runs-on: ubuntu-latest
11+
outputs:
12+
approval-env: ${{ steps.collab-check.outputs.result }}
13+
steps:
14+
- name: Collaborator Check
15+
uses: actions/github-script@v7
16+
id: collab-check
17+
with:
18+
result-encoding: string
19+
script: |
20+
try {
21+
const permissionResponse = await github.rest.repos.getCollaboratorPermissionLevel({
22+
owner: context.repo.owner,
23+
repo: context.repo.repo,
24+
username: context.payload.pull_request.user.login,
25+
});
26+
const permission = permissionResponse.data.permission;
27+
const hasWriteAccess = ['write', 'admin'].includes(permission);
28+
if (!hasWriteAccess) {
29+
console.log(`User ${context.payload.pull_request.user.login} does not have write access to the repository (permission: ${permission})`);
30+
return "manual-approval"
31+
} else {
32+
console.log(`Verifed ${context.payload.pull_request.user.login} has write access. Auto Approving PR Checks.`)
33+
return "auto-approve"
34+
}
35+
} catch (error) {
36+
console.log(`${context.payload.pull_request.user.login} does not have write access. Requiring Manual Approval to run PR Checks.`)
37+
return "manual-approval"
38+
}
39+
check-access-and-checkout:
40+
runs-on: ubuntu-latest
41+
needs: authorization-check
42+
environment: ${{ needs.authorization-check.outputs.approval-env }}
43+
permissions:
44+
id-token: write
45+
pull-requests: read
46+
contents: read
47+
steps:
48+
- name: Configure Credentials
49+
uses: aws-actions/configure-aws-credentials@v4
50+
with:
51+
role-to-assume: ${{ secrets.STRANDS_INTEG_TEST_ROLE }}
52+
aws-region: us-east-1
53+
mask-aws-account-id: true
54+
- name: Checkout head commit
55+
uses: actions/checkout@v4
56+
with:
57+
ref: ${{ github.event.pull_request.head.sha }} # Pull the commit from the forked repo
58+
persist-credentials: false # Don't persist credentials for subsequent actions
59+
- name: Set up Python
60+
uses: actions/setup-python@v5
61+
with:
62+
python-version: '3.10'
63+
- name: Install dependencies
64+
run: |
65+
pip install --no-cache-dir hatch
66+
- name: Run integration tests
67+
env:
68+
AWS_REGION: us-east-1
69+
AWS_REGION_NAME: us-east-1 # Needed for LiteLLM
70+
STRANDS_TEST_API_KEYS_SECRET_NAME: ${{ secrets.STRANDS_TEST_API_KEYS_SECRET_NAME }}
71+
id: tests
72+
run: |
73+
hatch test tests_integ

.github/workflows/pr-and-push.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Pull Request and Push Action
2+
3+
on:
4+
pull_request: # Safer than pull_request_target for untrusted code
5+
branches: [ main ]
6+
types: [opened, synchronize, reopened, ready_for_review]
7+
push:
8+
branches: [ main ] # Also run on direct pushes to main
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
call-test-lint:
15+
uses: ./.github/workflows/test-lint.yml
16+
permissions:
17+
contents: read
18+
with:
19+
ref: ${{ github.event.pull_request.head.sha }}

0 commit comments

Comments
 (0)