Skip to content

Commit 73e75cc

Browse files
authored
Merge pull request #10 from ELMOURABEA/copilot/release-update-version-1-2-0
Prepare MEGAGENT v1.2.0 for GitHub Marketplace publication
2 parents 0001444 + b26841e commit 73e75cc

15 files changed

Lines changed: 2005 additions & 0 deletions

.github/FUNDING.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Funding options for MEGAGENT
2+
3+
# github: [ELMOURABEA]
4+
# patreon: megagent
5+
# open_collective: megagent
6+
# ko_fi: megagent
7+
# custom: ["https://megagent.com/donate"]
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
## Bug Description
11+
A clear and concise description of what the bug is.
12+
13+
## To Reproduce
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
## Expected Behavior
21+
A clear and concise description of what you expected to happen.
22+
23+
## Actual Behavior
24+
A clear and concise description of what actually happened.
25+
26+
## Screenshots
27+
If applicable, add screenshots to help explain your problem.
28+
29+
## Environment
30+
- OS: [e.g. Ubuntu 22.04, Windows 11, macOS 13]
31+
- Python Version: [e.g. 3.8, 3.9, 3.10, 3.11]
32+
- MEGAGENT Version: [e.g. 1.2.0]
33+
- Installation Method: [pip, source, GitHub Action]
34+
35+
## Configuration
36+
- Subscription Tier: [free, pro, full_energy]
37+
- API Keys Configured: [List which platforms, e.g., Gemini, ChatGPT]
38+
- Custom Configuration: [Any custom settings in config.json]
39+
40+
## Error Messages
41+
```
42+
Paste any error messages or stack traces here
43+
```
44+
45+
## Additional Context
46+
Add any other context about the problem here.
47+
48+
## Possible Solution
49+
If you have suggestions on how to fix the bug, please describe them here.
50+
51+
## Related Issues
52+
Link to any related issues: #

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Pull Request
2+
3+
## Description
4+
Please include a summary of the changes and which issue is fixed. Include relevant motivation and context.
5+
6+
Fixes # (issue)
7+
8+
## Type of Change
9+
Please delete options that are not relevant.
10+
11+
- [ ] Bug fix (non-breaking change which fixes an issue)
12+
- [ ] New feature (non-breaking change which adds functionality)
13+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
14+
- [ ] Documentation update
15+
- [ ] Performance improvement
16+
- [ ] Code refactoring
17+
- [ ] Tests
18+
- [ ] CI/CD changes
19+
20+
## How Has This Been Tested?
21+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
22+
23+
- [ ] Test A
24+
- [ ] Test B
25+
26+
**Test Configuration**:
27+
- Python version:
28+
- OS:
29+
- MEGAGENT version:
30+
31+
## Checklist
32+
- [ ] My code follows the style guidelines of this project
33+
- [ ] I have performed a self-review of my own code
34+
- [ ] I have commented my code, particularly in hard-to-understand areas
35+
- [ ] I have made corresponding changes to the documentation
36+
- [ ] My changes generate no new warnings
37+
- [ ] I have added tests that prove my fix is effective or that my feature works
38+
- [ ] New and existing unit tests pass locally with my changes
39+
- [ ] Any dependent changes have been merged and published in downstream modules
40+
- [ ] I have checked my code and corrected any misspellings
41+
- [ ] I have updated CHANGELOG.md with my changes
42+
43+
## Screenshots (if applicable)
44+
Add screenshots to help explain your changes.
45+
46+
## Additional Notes
47+
Add any additional notes or context about the pull request here.
48+
49+
## Breaking Changes
50+
If this PR introduces breaking changes, please describe them and the migration path for existing users.
51+
52+
## Dependencies
53+
List any new dependencies required for this change.
54+
55+
## Reviewer Notes
56+
Any specific areas you'd like reviewers to focus on?

.github/workflows/release.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v4
21+
with:
22+
python-version: '3.11'
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install build twine
28+
pip install -r requirements.txt
29+
30+
- name: Run tests
31+
run: |
32+
pip install -e .
33+
pytest -v
34+
35+
- name: Build package
36+
run: |
37+
python -m build
38+
39+
- name: Extract version from tag
40+
id: get_version
41+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
42+
43+
- name: Create Release Notes
44+
id: release_notes
45+
run: |
46+
# Extract changelog entry for this version
47+
VERSION=${{ steps.get_version.outputs.VERSION }}
48+
sed -n "/## \[$VERSION\]/,/## \[/p" CHANGELOG.md | sed '$d' > release_notes.md
49+
50+
- name: Create GitHub Release
51+
uses: softprops/action-gh-release@v1
52+
with:
53+
body_path: release_notes.md
54+
files: |
55+
dist/*
56+
draft: false
57+
prerelease: false
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
61+
- name: Publish to PyPI
62+
if: false # Disabled by default, enable when ready to publish to PyPI
63+
env:
64+
TWINE_USERNAME: __token__
65+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
66+
run: |
67+
twine upload dist/*

.github/workflows/test.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [ main, main/coll, develop ]
6+
pull_request:
7+
branches: [ main, main/coll ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
test:
14+
runs-on: ${{ matrix.os }}
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
os: [ubuntu-latest, macos-latest, windows-latest]
19+
python-version: ['3.8', '3.9', '3.10', '3.11']
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v4
24+
25+
- name: Set up Python ${{ matrix.python-version }}
26+
uses: actions/setup-python@v4
27+
with:
28+
python-version: ${{ matrix.python-version }}
29+
30+
- name: Install dependencies
31+
run: |
32+
python -m pip install --upgrade pip
33+
pip install -r requirements.txt
34+
pip install -e .
35+
36+
- name: Run tests
37+
run: |
38+
pytest -v --tb=short
39+
40+
- name: Test CLI demo (Unix)
41+
if: runner.os != 'Windows'
42+
run: |
43+
timeout 10 python main.py || true
44+
45+
- name: Test CLI demo (Windows)
46+
if: runner.os == 'Windows'
47+
shell: pwsh
48+
run: |
49+
$job = Start-Job -ScriptBlock { python main.py }
50+
Wait-Job $job -Timeout 10 | Out-Null
51+
Stop-Job $job
52+
Remove-Job $job
53+
54+
lint:
55+
runs-on: ubuntu-latest
56+
57+
steps:
58+
- name: Checkout repository
59+
uses: actions/checkout@v4
60+
61+
- name: Set up Python
62+
uses: actions/setup-python@v4
63+
with:
64+
python-version: '3.11'
65+
66+
- name: Install dependencies
67+
run: |
68+
python -m pip install --upgrade pip
69+
pip install flake8 pylint
70+
pip install -r requirements.txt
71+
pip install -e .
72+
73+
- name: Lint with flake8
74+
run: |
75+
# Stop the build if there are Python syntax errors or undefined names
76+
flake8 megabot --count --select=E9,F63,F7,F82 --show-source --statistics
77+
# Exit-zero treats all errors as warnings
78+
flake8 megabot --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
79+
continue-on-error: true

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,11 @@ htmlcov/
5858
# Temporary files
5959
/tmp/
6060
*.tmp
61+
62+
# GitHub Action temporary files
63+
megabot_config.json
64+
release_notes.md
65+
66+
# Package build artifacts
67+
*.whl
68+
*.tar.gz

0 commit comments

Comments
 (0)