Skip to content
Closed
Show file tree
Hide file tree
Changes from 10 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
107 changes: 107 additions & 0 deletions .github/workflows/preview-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Preview Build (roadmap2026)
run-name: Preview Build - ${{ github.actor }}

on:
push:
branches:
- roadmap2026
workflow_dispatch:

env:
REPO_PATH: ${{ github.repository }}
NODE_VERSION: '20.19.2'
PNPM_VERSION: '10.8.1'

jobs:
build-preview:
name: Build ROO CODEP Preview
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: Typo in Job Name

Build ROO CODEP Preview should be Build ROO CODE Preview (missing the 'E' in CODE).

runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: roadmap2026

- name: Setup Node.js and pnpm
uses: ./.github/actions/setup-node-pnpm

- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Run Tests
run: |
cd src
npx vitest run core/image-storage/__tests__/ImageManager.spec.ts core/memory/__tests__/MemoryMonitor.test.ts core/task/__tests__/message-index.test.ts core/task/__tests__/Task.imageIntegration.test.ts core/task/__tests__/Task.debounce.test.ts core/task/__tests__/Task.dispose.test.ts
continue-on-error: false

- name: Build Extension
run: |
pnpm clean
pnpm build
pnpm bundle
- name: Package VSIX
run: pnpm vsix

- name: Get Version
id: get-version
run: |
VERSION=$(node -p "require('./src/package.json').version")
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Extension Version: $VERSION"
- name: Upload VSIX Artifact
uses: actions/upload-artifact@v4
with:
name: roo-codep-preview-${{ steps.get-version.outputs.version }}
path: bin/*.vsix
retention-days: 30

- name: Create Release
if: github.event_name == 'workflow_dispatch'
uses: softprops/action-gh-release@v2
with:
tag_name: preview-v${{ steps.get-version.outputs.version }}
name: ROO CODEP Preview v${{ steps.get-version.outputs.version }}
body: |
## ROO CODEP Preview Build
🔬 **This is a PREVIEW version for testing roadmap2026 improvements**
### Included Improvements:
- ✅ Phase 1: Premature completion fixes
- ✅ Phase 2: Message importance scoring & smart retention
- ✅ Phase 3: Image externalization, memory monitoring, and performance optimizations
### Test Results:
- 76 tests passed
### Installation:
1. Download the `.vsix` file below
2. Open VS Code
3. Go to Extensions view (Ctrl+Shift+X)
4. Click "..." menu → "Install from VSIX..."
5. Select the downloaded file
⚠️ **Note**: This is a preview build for testing purposes. Do not use in production.
files: bin/*.vsix
draft: false
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Build Summary
run: |
echo "## 🎉 Preview Build Complete!" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Version**: ${{ steps.get-version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
echo "**Branch**: roadmap2026" >> $GITHUB_STEP_SUMMARY
echo "**Build Time**: $(date)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Artifacts" >> $GITHUB_STEP_SUMMARY
echo "- VSIX file uploaded as artifact" >> $GITHUB_STEP_SUMMARY
echo "- Available for 30 days" >> $GITHUB_STEP_SUMMARY
125 changes: 125 additions & 0 deletions .github/workflows/roadmap2026-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: Roadmap2026 Branch Release

on:
push:
branches:
- roadmap2026

env:
NODE_VERSION: "20.19.2"
PNPM_VERSION: "10.8.1"

jobs:
build-and-release:
runs-on: ubuntu-latest
permissions:
contents: write # Required for creating releases and tags
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for proper versioning

- name: Setup Node.js and pnpm
uses: ./.github/actions/setup-node-pnpm

- name: Configure Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Create .env file
run: echo "POSTHOG_API_KEY=${{ secrets.POSTHOG_API_KEY }}" >> .env

- name: Run type checking
run: pnpm check-types

- name: Build project
run: pnpm build

- name: Package Extension (VSIX)
run: pnpm vsix

- name: Get package version and commit info
id: version
run: |
PACKAGE_VERSION=$(node -p "require('./src/package.json').version")
COMMIT_SHORT_SHA=$(git rev-parse --short HEAD)
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
RELEASE_TAG="roadmap2026-${PACKAGE_VERSION}-${TIMESTAMP}-${COMMIT_SHORT_SHA}"
VSIX_NAME="roo-cline-${PACKAGE_VERSION}.vsix"

echo "package_version=${PACKAGE_VERSION}" >> $GITHUB_OUTPUT
echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT
echo "vsix_name=${VSIX_NAME}" >> $GITHUB_OUTPUT
echo "commit_sha=${COMMIT_SHORT_SHA}" >> $GITHUB_OUTPUT
echo "timestamp=${TIMESTAMP}" >> $GITHUB_OUTPUT

- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RELEASE_TAG="${{ steps.version.outputs.release_tag }}"
PACKAGE_VERSION="${{ steps.version.outputs.package_version }}"
COMMIT_SHA="${{ steps.version.outputs.commit_sha }}"
TIMESTAMP="${{ steps.version.outputs.timestamp }}"
VSIX_NAME="${{ steps.version.outputs.vsix_name }}"

# Create release notes
RELEASE_NOTES="## Roadmap2026 Development Build

**Version:** ${PACKAGE_VERSION}
**Branch:** roadmap2026
**Commit:** ${COMMIT_SHA}
**Build Time:** ${TIMESTAMP}
**Commit Message:** ${{ github.event.head_commit.message }}

### Changes in this build

This is an automated build from the roadmap2026 branch.

### Installation

Download the \`${VSIX_NAME}\` file and install it manually in VS Code:
1. Open VS Code
2. Go to Extensions view (Ctrl+Shift+X)
3. Click on the '...' menu at the top of the Extensions view
4. Select 'Install from VSIX...'
5. Choose the downloaded file

### Commit Details

\`\`\`
${{ github.event.head_commit.message }}
\`\`\`

**Author:** ${{ github.event.head_commit.author.name }} <${{ github.event.head_commit.author.email }}>
**Committer:** ${{ github.event.head_commit.committer.name }} <${{ github.event.head_commit.committer.email }}>
"

# Create release
gh release create "${RELEASE_TAG}" \
--title "Roadmap2026 Build - ${PACKAGE_VERSION} (${TIMESTAMP})" \
--notes "${RELEASE_NOTES}" \
--target roadmap2026 \
--prerelease \
bin/${VSIX_NAME}

echo "✅ Successfully created GitHub Release: ${RELEASE_TAG}"
echo "📦 VSIX file: ${VSIX_NAME}"
echo "🔗 Release URL: https://github.com/${{ github.repository }}/releases/tag/${RELEASE_TAG}"

- name: Summary
run: |
echo "## 🎉 Build and Release Completed" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Release Tag:** \`${{ steps.version.outputs.release_tag }}\`" >> $GITHUB_STEP_SUMMARY
echo "**Package Version:** \`${{ steps.version.outputs.package_version }}\`" >> $GITHUB_STEP_SUMMARY
echo "**VSIX File:** \`${{ steps.version.outputs.vsix_name }}\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Steps Completed:" >> $GITHUB_STEP_SUMMARY
echo "- ✅ pnpm install" >> $GITHUB_STEP_SUMMARY
echo "- ✅ pnpm check-types" >> $GITHUB_STEP_SUMMARY
echo "- ✅ pnpm build" >> $GITHUB_STEP_SUMMARY
echo "- ✅ pnpm vsix" >> $GITHUB_STEP_SUMMARY
echo "- ✅ GitHub Release created" >> $GITHUB_STEP_SUMMARY
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ logs

# Qdrant
qdrant_storage/
qdrant/qdrant_data
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: Inconsistent Ignore Pattern

Line 51 uses qdrant_storage/ (with trailing slash) while line 52 uses qdrant/qdrant_data (without trailing slash). For consistency and clarity, both should use the same pattern style. Recommend:

qdrant_storage/
qdrant/qdrant_data/

Loading