Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
200 changes: 100 additions & 100 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,126 +82,126 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Generate changelog with git-cliff
if: steps.check-release.outputs.should_release == 'true'
uses: orhun/git-cliff-action@v4
id: git-cliff
with:
config: cliff.toml
args: --tag "${{ steps.find-tags.outputs.latest_tag }}" --strip header --strip footer --verbose
env:
OUTPUT: current_changelog.md
GITHUB_REPO: ${{ github.repository }}
# - name: Generate changelog with git-cliff
# if: steps.check-release.outputs.should_release == 'true'
# uses: orhun/git-cliff-action@v4
# id: git-cliff
# with:
# config: cliff.toml
# args: --tag "${{ steps.find-tags.outputs.latest_tag }}" --strip header --strip footer --verbose
# env:
# OUTPUT: current_changelog.md
# GITHUB_REPO: ${{ github.repository }}

- name: Process changelog and create fallback if needed
if: steps.check-release.outputs.should_release == 'true'
id: changelog
run: |
echo "📝 Processing changelog for v${{ steps.find-tags.outputs.version }}..."
# - name: Process changelog and create fallback if needed
# if: steps.check-release.outputs.should_release == 'true'
# id: changelog
# run: |
# echo "📝 Processing changelog for v${{ steps.find-tags.outputs.version }}..."

# Check if git-cliff generated content
if [ -s "current_changelog.md" ] && [ $(wc -l < current_changelog.md) -gt 2 ]; then
echo "✅ Git-cliff generated changelog successfully"
CHANGELOG_CONTENT=$(cat current_changelog.md)
else
echo "⚠️ Git-cliff output was minimal, creating fallback changelog"
# # Check if git-cliff generated content
# if [ -s "current_changelog.md" ] && [ $(wc -l < current_changelog.md) -gt 2 ]; then
# echo "✅ Git-cliff generated changelog successfully"
# CHANGELOG_CONTENT=$(cat current_changelog.md)
# else
# echo "⚠️ Git-cliff output was minimal, creating fallback changelog"

# Find the last tag to show range
LAST_TAG=$(git describe --tags --abbrev=0 ${{ steps.find-tags.outputs.latest_tag }}^ 2>/dev/null || echo "")
# # Find the last tag to show range
# LAST_TAG=$(git describe --tags --abbrev=0 ${{ steps.find-tags.outputs.latest_tag }}^ 2>/dev/null || echo "")

if [ -n "$LAST_TAG" ]; then
echo "📍 Generating changelog for range: $LAST_TAG → ${{ steps.find-tags.outputs.latest_tag }}"
COMMIT_COUNT=$(git rev-list --count $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }})
echo "📊 Found $COMMIT_COUNT commits since $LAST_TAG"
# if [ -n "$LAST_TAG" ]; then
# echo "📍 Generating changelog for range: $LAST_TAG → ${{ steps.find-tags.outputs.latest_tag }}"
# COMMIT_COUNT=$(git rev-list --count $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }})
# echo "📊 Found $COMMIT_COUNT commits since $LAST_TAG"

echo "## What's Changed" > current_changelog.md
echo "" >> current_changelog.md
# echo "## What's Changed" > current_changelog.md
# echo "" >> current_changelog.md

# Categorize commits
echo "### ✨ Features" >> current_changelog.md
git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -i "^feat" | sed 's/^feat[:(]//' | sed 's/^feat: //' >> current_changelog.md || echo "- No new features" >> current_changelog.md
echo "" >> current_changelog.md
# # Categorize commits
# echo "### ✨ Features" >> current_changelog.md
# git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -i "^feat" | sed 's/^feat[:(]//' | sed 's/^feat: //' >> current_changelog.md || echo "- No new features" >> current_changelog.md
# echo "" >> current_changelog.md

echo "### 🐛 Bug Fixes" >> current_changelog.md
git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -i "^fix" | sed 's/^fix[:(]//' | sed 's/^fix: //' >> current_changelog.md || echo "- No bug fixes" >> current_changelog.md
echo "" >> current_changelog.md
# echo "### 🐛 Bug Fixes" >> current_changelog.md
# git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -i "^fix" | sed 's/^fix[:(]//' | sed 's/^fix: //' >> current_changelog.md || echo "- No bug fixes" >> current_changelog.md
# echo "" >> current_changelog.md

echo "### 📚 Documentation" >> current_changelog.md
git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -i "^docs" | sed 's/^docs[:(]//' | sed 's/^docs: //' >> current_changelog.md || echo "- No documentation changes" >> current_changelog.md
echo "" >> current_changelog.md
# echo "### 📚 Documentation" >> current_changelog.md
# git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -i "^docs" | sed 's/^docs[:(]//' | sed 's/^docs: //' >> current_changelog.md || echo "- No documentation changes" >> current_changelog.md
# echo "" >> current_changelog.md

echo "### Other Changes" >> current_changelog.md
git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -v -i "^\(feat\|fix\|docs\)" >> current_changelog.md || echo "- No other changes" >> current_changelog.md
else
echo "📍 No previous tags found - generating changelog for initial release"
echo "## Initial Release" > current_changelog.md
echo "" >> current_changelog.md
echo "🎉 First release of RunAgent Universal AI Agent Platform!" >> current_changelog.md
echo "" >> current_changelog.md
echo "### Features" >> current_changelog.md
echo "- Universal AI agent platform supporting multiple languages" >> current_changelog.md
echo "- Python, JavaScript, Rust, and Go SDKs" >> current_changelog.md
echo "- Framework-agnostic agent deployment" >> current_changelog.md
echo "- Real-time streaming support" >> current_changelog.md
fi
# echo "### Other Changes" >> current_changelog.md
# git log --pretty=format:"- %s" $LAST_TAG..${{ steps.find-tags.outputs.latest_tag }} | grep -v -i "^\(feat\|fix\|docs\)" >> current_changelog.md || echo "- No other changes" >> current_changelog.md
# else
# echo "📍 No previous tags found - generating changelog for initial release"
# echo "## Initial Release" > current_changelog.md
# echo "" >> current_changelog.md
# echo "🎉 First release of RunAgent Universal AI Agent Platform!" >> current_changelog.md
# echo "" >> current_changelog.md
# echo "### Features" >> current_changelog.md
# echo "- Universal AI agent platform supporting multiple languages" >> current_changelog.md
# echo "- Python, JavaScript, Rust, and Go SDKs" >> current_changelog.md
# echo "- Framework-agnostic agent deployment" >> current_changelog.md
# echo "- Real-time streaming support" >> current_changelog.md
# fi

CHANGELOG_CONTENT=$(cat current_changelog.md)
fi
# CHANGELOG_CONTENT=$(cat current_changelog.md)
# fi

# Save changelog content for use in release body
echo "changelog<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGELOG_CONTENT" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
# # Save changelog content for use in release body
# echo "changelog<<EOF" >> $GITHUB_OUTPUT
# echo "$CHANGELOG_CONTENT" >> $GITHUB_OUTPUT
# echo "EOF" >> $GITHUB_OUTPUT

echo "✅ Changelog processed successfully"
echo "📄 Preview:"
echo "----------"
head -15 current_changelog.md
if [ $(wc -l < current_changelog.md) -gt 15 ]; then
echo "... ($(wc -l < current_changelog.md) total lines)"
fi
# echo "✅ Changelog processed successfully"
# echo "📄 Preview:"
# echo "----------"
# head -15 current_changelog.md
# if [ $(wc -l < current_changelog.md) -gt 15 ]; then
# echo "... ($(wc -l < current_changelog.md) total lines)"
# fi

- name: Update CHANGELOG.md in repository
if: steps.check-release.outputs.should_release == 'true'
run: |
echo "📝 Updating CHANGELOG.md in repository..."
# - name: Update CHANGELOG.md in repository
# if: steps.check-release.outputs.should_release == 'true'
# run: |
# echo "📝 Updating CHANGELOG.md in repository..."

# Create the new changelog entry
echo "# Changelog" > CHANGELOG_NEW.md
echo "" >> CHANGELOG_NEW.md
echo "## [v${{ steps.find-tags.outputs.version }}] - $(date +%Y-%m-%d)" >> CHANGELOG_NEW.md
echo "" >> CHANGELOG_NEW.md
cat current_changelog.md >> CHANGELOG_NEW.md
echo "" >> CHANGELOG_NEW.md
# # Create the new changelog entry
# echo "# Changelog" > CHANGELOG_NEW.md
# echo "" >> CHANGELOG_NEW.md
# echo "## [v${{ steps.find-tags.outputs.version }}] - $(date +%Y-%m-%d)" >> CHANGELOG_NEW.md
# echo "" >> CHANGELOG_NEW.md
# cat current_changelog.md >> CHANGELOG_NEW.md
# echo "" >> CHANGELOG_NEW.md

# Append existing changelog if it exists
if [ -f "CHANGELOG.md" ] && [ -s "CHANGELOG.md" ]; then
# Skip the header of existing changelog
tail -n +2 CHANGELOG.md >> CHANGELOG_NEW.md
fi
# # Append existing changelog if it exists
# if [ -f "CHANGELOG.md" ] && [ -s "CHANGELOG.md" ]; then
# # Skip the header of existing changelog
# tail -n +2 CHANGELOG.md >> CHANGELOG_NEW.md
# fi

mv CHANGELOG_NEW.md CHANGELOG.md
# mv CHANGELOG_NEW.md CHANGELOG.md

echo "✅ CHANGELOG.md updated"
# echo "✅ CHANGELOG.md updated"

- name: Commit updated CHANGELOG.md
if: steps.check-release.outputs.should_release == 'true'
run: |
echo "💾 Committing updated CHANGELOG.md..."
# - name: Commit updated CHANGELOG.md
# if: steps.check-release.outputs.should_release == 'true'
# run: |
# echo "💾 Committing updated CHANGELOG.md..."

# Configure git
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
# # Configure git
# git config user.name "github-actions[bot]"
# git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

# Add and commit the changelog
git add CHANGELOG.md
if git diff --staged --quiet; then
echo "No changes to commit"
else
git commit -m "docs: update CHANGELOG.md for v${{ steps.find-tags.outputs.version }}"
git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git main
echo "✅ CHANGELOG.md committed and pushed"
fi
# # Add and commit the changelog
# git add CHANGELOG.md
# if git diff --staged --quiet; then
# echo "No changes to commit"
# else
# git commit -m "docs: update CHANGELOG.md for v${{ steps.find-tags.outputs.version }}"
# git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git main
# echo "✅ CHANGELOG.md committed and pushed"
# fi

- name: Create main GitHub Release
if: steps.check-release.outputs.should_release == 'true'
Expand Down
39 changes: 5 additions & 34 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,10 @@
# Changelog
All notable changes to this project's latest version.

All notable changes to this project will be documented in this file.
## [0.1.16] - 2025-07-29

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### Miscellaneous Tasks

## [Unreleased]
- Bump version to v0.1.16

### Added
- Initial project setup
- Basic CLI functionality
- SDK implementation
- Configuration management system
- Template management system
- Documentation and guides

### Changed
- Improved error handling
- Enhanced configuration management
- Updated documentation

### Fixed
- Fixed path handling in configuration
- Fixed template download issues
- Fixed authentication flow

## [0.1.0] - 2024-03-20

### Added
- Initial release
- Basic CLI commands
- SDK implementation
- Configuration system
- Template management
- Documentation

[Unreleased]: https://github.com/runagent-dev/runagent/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/runagent-dev/runagent/releases/tag/v0.1.0
<!-- generated by git-cliff -->
2 changes: 1 addition & 1 deletion cliff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# changelog header
header = """
# Changelog
All notable changes to this project will be documented in this file.
All notable changes to this project's latest version.

"""
# template for the changelog body
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ build-backend = "hatchling.build"

[project]
name = "runagent"
version = "0.1.9"
version = "0.1.16"
description = "A command-line tool and SDK for deploying, managing, and interacting with AI agents"
readme = "README.md"
requires-python = ">=3.9"
Expand Down Expand Up @@ -103,7 +103,7 @@ line_length = 88
skip = ["docs"]

[tool.mypy]
python_version = "0.1.9"
python_version = "0.1.16"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
Expand Down Expand Up @@ -159,7 +159,7 @@ fail_under = 80

[tool.ruff]
line-length = 88
target-version = "0.1.9"
target-version = "0.1.16"
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
Expand Down
Loading