Jelajahi Sumber

Merge pull request #1533 from pdecat/ci/publish_tags

ci: publish git tags to Github (resolves #444)
Matt Rubens 9 bulan lalu
induk
melakukan
224303660b

+ 5 - 0
.changeset/automatic-tags-publish.md

@@ -0,0 +1,5 @@
+---
+"roo-cline": patch
+---
+
+Update GitHub Actions workflow to automatically create and push git tags during release

+ 20 - 5
.github/workflows/marketplace-publish.yml

@@ -10,6 +10,8 @@ env:
 jobs:
   publish-extension:
     runs-on: ubuntu-latest
+    permissions:
+      contents: write  # Required for pushing tags
     if: >
         ( github.event_name == 'pull_request' &&
         github.event.pull_request.base.ref == 'main' &&
@@ -23,24 +25,24 @@ jobs:
       - uses: actions/setup-node@v4
         with:
           node-version: 18
+
       - run: |
           git config user.name github-actions
           git config user.email [email protected]
+
       - name: Install Dependencies
         run: |
           npm install -g vsce ovsx
           npm run install:ci
+
       - name: Create .env file
         run: |
           echo "# PostHog API Keys for telemetry" > .env
           echo "POSTHOG_API_KEY=${{ secrets.POSTHOG_API_KEY }}" >> .env
-      - name: Package and Publish Extension
-        env:
-          VSCE_PAT: ${{ secrets.VSCE_PAT }}
-          OVSX_PAT: ${{ secrets.OVSX_PAT }}
+
+      - name: Package Extension
         run: |
           current_package_version=$(node -p "require('./package.json').version")
-
           npm run vsix
           package=$(unzip -l bin/roo-cline-${current_package_version}.vsix)
           echo "$package"
@@ -49,5 +51,18 @@ jobs:
           echo "$package" | grep -q "extension/node_modules/@vscode/codicons/dist/codicon.ttf" || exit 1
           echo "$package" | grep -q ".env" || exit 1
 
+      - name: Create and Push Git Tag
+        run: |
+          current_package_version=$(node -p "require('./package.json').version")
+          git tag -a "v${current_package_version}" -m "Release v${current_package_version}"
+          git push origin "v${current_package_version}"
+          echo "Successfully created and pushed git tag v${current_package_version}"
+
+      - name: Publish Extension
+        env:
+          VSCE_PAT: ${{ secrets.VSCE_PAT }}
+          OVSX_PAT: ${{ secrets.OVSX_PAT }}
+        run: |
+          current_package_version=$(node -p "require('./package.json').version")
           npm run publish:marketplace
           echo "Successfully published version $current_package_version to VS Code Marketplace"