Răsfoiți Sursa

Publish Roo Cline to AWS CodeArtifact; script to download and install latest Roo Cline Extension

ColemanRoo 1 an în urmă
părinte
comite
4edf570530

+ 46 - 0
.github/workflows/npm-publish.yml

@@ -0,0 +1,46 @@
+name: Publish to NPM
+on:
+  push:
+    branches: ["main"]
+  workflow_dispatch:
+
+env:
+  AWS_REGION: us-east-1
+
+jobs:
+  publish-npm:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - id: install-aws-cli
+        uses: unfor19/install-aws-cli-action@v1
+        with:
+          version: 2 # default
+          verbose: false # default
+          arch: amd64 # allowed values: amd64, arm64
+      - name: Configure AWS Credentials
+        uses: aws-actions/configure-aws-credentials@v1-node16
+        with:
+          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
+          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+          aws-region: ${{ env.AWS_REGION }}
+      - uses: actions/setup-node@v3
+        with:
+          node-version: 18
+      - run: |
+          git config user.name github-actions
+          git config user.email [email protected]
+      - run: |
+          npm run co:login
+          latest_published_version=$(npm show @roo-dev/roo-cline version)
+          current_package_version=$(node -p "require('./package.json').version")
+          echo "Latest published version: $latest_published_version"
+          echo "Current package version: $current_package_version"
+          if [ "$latest_published_version" == "$current_package_version" ]; then
+            echo "Latest version is already published to NPM"
+          else
+            npm install
+            npm run vsix
+            npm publish
+            echo "Successfully published to NPM"
+          fi

+ 2 - 0
.gitignore

@@ -4,3 +4,5 @@ node_modules
 .vscode-test/
 
 .DS_Store
+
+.npmrc

BIN
assets/icons/icon_Roo.png


+ 14 - 5
package.json

@@ -2,8 +2,8 @@
   "name": "roo-cline",
   "displayName": "Roo Cline",
   "description": "Autonomous coding agent right in your IDE, capable of creating/editing files, running commands, using the browser, and more with your permission every step of the way.",
-  "version": "2.0.1",
-  "icon": "assets/icons/icon.png",
+  "version": "2.0.2",
+  "icon": "assets/icons/icon_Roo.png",
   "galleryBanner": {
     "color": "#617A91",
     "theme": "dark"
@@ -12,7 +12,7 @@
     "vscode": "1.93.1"
   },
   "author": {
-    "name": "Cline Bot Inc."
+    "name": "Roo Vet"
   },
   "repository": {
     "type": "git",
@@ -131,7 +131,9 @@
     "start:webview": "cd webview-ui && npm run start",
     "build:webview": "cd webview-ui && npm run build",
     "test:webview": "cd webview-ui && npm run test",
-    "publish:marketplace": "vsce publish && ovsx publish"
+    "publish:marketplace": "vsce publish && ovsx publish",
+    "co:login": "scripts/codeartifact-login.sh",
+    "install:cline": "scripts/install-cline-latest.sh"
   },
   "devDependencies": {
     "@types/diff": "^5.2.1",
@@ -181,5 +183,12 @@
     "tree-sitter-wasms": "^0.1.11",
     "turndown": "^7.2.0",
     "web-tree-sitter": "^0.22.6"
-  }
+  },
+  "publishConfig": {
+    "registry": "https://www.npmjs.com"
+  },
+  "files": [
+    "bin/roo-cline-2.0.2.vsix",
+    "assets/icons/icon_Roo.png"
+  ]
 }

+ 15 - 0
scripts/codeartifact-login.sh

@@ -0,0 +1,15 @@
+AWS_VERSION=$(aws --version 2>&1 | cut -d/ -f2 | cut -d. -f1)
+echo "aws-cli/$AWS_VERSION"
+
+if [ "$AWS_VERSION" -lt 2 ]; then
+    echo "Skipping .npmrc generation because AWS CLI version is less than 2"
+else
+    echo "Generating .npmrc"
+    REPO_ENDPOINT=$(aws codeartifact get-repository-endpoint --domain roo --repository roo-dev --format npm | jq -r '.repositoryEndpoint')
+    echo "registry=$REPO_ENDPOINT" > .npmrc
+
+    CODEARTIFACT_AUTH_TOKEN=$(aws codeartifact get-authorization-token --domain roo --query authorizationToken --output text)
+
+    REPO_PATH=$(echo $REPO_ENDPOINT | sed 's/https://g')
+    echo "$REPO_PATH:_authToken=$CODEARTIFACT_AUTH_TOKEN" >> .npmrc
+fi

+ 20 - 0
scripts/install-cline-latest.sh

@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# Install roo-cline
+echo "Installing roo-cline..."
+npm install roo-cline
+
+# Get version of installed roo-cline
+VERSION=$(npm list roo-cline | grep roo-cline@ | cut -d'@' -f2 | tail -n1)
+echo "Installed version: $VERSION"
+
+# Install extension in Cursor
+echo "Installing Cursor extension..."
+echo $VERSION
+cursor --install-extension "node_modules/roo-cline/bin/roo-cline-$VERSION.vsix"
+
+# Uninstall roo-cline
+echo "Cleaning up..."
+npm uninstall roo-cline
+
+echo "Done!"