diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f0a7fa8..39f0f9a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -607,6 +607,8 @@ jobs: needs.version-check.outputs.extension_changed == 'true' && needs.release.outputs.release_created == 'true' runs-on: ubuntu-latest + outputs: + vsix_path: ${{ steps.build.outputs.vsix_path }} steps: - name: Checkout code uses: actions/checkout@v4 @@ -620,9 +622,77 @@ jobs: cache: "npm" cache-dependency-path: Extension/package-lock.json - - name: Build and publish extension + - name: Build and publish to VS Marketplace working-directory: Extension run: | npm ci --prefer-offline npx vsce package npx vsce publish -p ${{ secrets.AZURE_DEVOPS_VS_CODE_EXTENSION_PUBLISH_TOKEN }} + + publish-open-vsx-extension: + needs: [version-check, publish-vscode-extension] + if: | + needs.version-check.outputs.version_changed == 'true' && + needs.version-check.outputs.extension_changed == 'true' + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + sparse-checkout: Extension + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + cache-dependency-path: Extension/package-lock.json + + - name: Install dependencies + working-directory: Extension + run: npm ci --prefer-offline + + - name: Verify Open VSX token + id: check_token + run: | + if [ -z "${{ secrets.OPEN_VSX_PAT }}" ]; then + echo "⚠️ Warning: OPEN_VSX_PAT not configured" + echo "ℹ️ To publish to Open VSX, add OPEN_VSX_PAT secret to GitHub" + echo "token_configured=false" >> $GITHUB_OUTPUT + else + echo "✅ OPEN_VSX_PAT is configured" + echo "token_configured=true" >> $GITHUB_OUTPUT + fi + + - name: Package extension + working-directory: Extension + run: | + npx vsce package + VSIX_FILE=$(ls *.vsix | head -1) + echo "VSIX_FILE=$VSIX_FILE" >> $GITHUB_ENV + echo "📦 Created package: $VSIX_FILE" + + - name: Publish to Open VSX Registry + if: steps.check_token.outputs.token_configured == 'true' + working-directory: Extension + run: | + npx ovsx publish *.vsix -p ${{ secrets.OPEN_VSX_PAT }} + env: + OVSX_REGISTRY_URL: https://open-vsx.org + + - name: Summary + run: | + echo "## Open VSX Extension Publishing" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + if [ -z "${{ secrets.OPEN_VSX_PAT }}" ]; then + echo "⚠️ **Skipped** - OPEN_VSX_PAT not configured" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "To enable Open VSX publishing:" >> $GITHUB_STEP_SUMMARY + echo "1. Generate token at https://open-vsx.org → Settings → Access Tokens" >> $GITHUB_STEP_SUMMARY + echo "2. Add \`OPEN_VSX_PAT\` secret to GitHub repository" >> $GITHUB_STEP_SUMMARY + echo "3. Ensure namespace 'AnkanSaha' is created on Open VSX" >> $GITHUB_STEP_SUMMARY + else + echo "✅ **Published** to Open VSX Registry v${{ needs.version-check.outputs.version }}" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Extension available at: https://open-vsx.org/extension/AnkanSaha/banglacode" >> $GITHUB_STEP_SUMMARY + fi diff --git a/Documentation/package.json b/Documentation/package.json index 04560d9..6553eec 100644 --- a/Documentation/package.json +++ b/Documentation/package.json @@ -1,6 +1,6 @@ { "name": "documentation", - "version": "8.0.0", + "version": "8.1.0", "private": true, "scripts": { "dev": "next dev --turbopack", diff --git a/Extension/package-lock.json b/Extension/package-lock.json index c60926e..6cb7846 100644 --- a/Extension/package-lock.json +++ b/Extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "banglacode", - "version": "5.2.0", + "version": "8.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "banglacode", - "version": "5.2.0", + "version": "8.0.0", "license": "MIT", "devDependencies": { "@types/vscode": "^1.74.0", diff --git a/Extension/package.json b/Extension/package.json index 2acf0c9..696b313 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -2,7 +2,7 @@ "name": "banglacode", "displayName": "BanglaCode", "description": "Language support for BanglaCode (.bang, .bangla, .bong) - Bengali Programming Language created by Ankan from West Bengal, India", - "version": "8.0.0", + "version": "8.1.0", "publisher": "AnkanSaha", "author": { "name": "AnkanSaha" diff --git a/VERSION b/VERSION index ae9a76b..8104cab 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.0.0 +8.1.0 diff --git a/main.go b/main.go index 65719cb..a7794ee 100644 --- a/main.go +++ b/main.go @@ -72,10 +72,10 @@ func printHelp() { func printVersion() { fmt.Println("\033[1;36m╔════════════════════════════════════════════════════════╗") - fmt.Println("║ BanglaCode v8.0.0 ║") + fmt.Println("║ BanglaCode v8.1.0 ║") fmt.Println("║ A Programming Language in Bengali (Banglish) ║") fmt.Println("╠════════════════════════════════════════════════════════╣\033[0m") - fmt.Println("\033[1;36m║\033[0m 📦 \033[1mVersion:\033[0m \033[1;32m8.0.0\033[0m \033[1;36m║\033[0m") + fmt.Println("\033[1;36m║\033[0m 📦 \033[1mVersion:\033[0m \033[1;32m8.1.0\033[0m \033[1;36m║\033[0m") fmt.Println("\033[1;36m║\033[0m 👨‍💻 \033[1mAuthor:\033[0m \033[1;35mAnkan Saha\033[0m \033[1;36m║\033[0m") fmt.Println("\033[1;36m║\033[0m 🌍 \033[1mFrom:\033[0m \033[1;37mWest Bengal, India\033[0m \033[1;36m║\033[0m") fmt.Println("\033[1;36m║\033[0m 🔗 \033[1mGitHub:\033[0m \033[1;34mhttps://github.com/nexoral/BanglaCode\033[0m \033[1;36m║\033[0m") diff --git a/src/repl/repl.go b/src/repl/repl.go index 19ec36c..862bb2f 100644 --- a/src/repl/repl.go +++ b/src/repl/repl.go @@ -11,7 +11,7 @@ import ( "strings" ) -const Version = "8.0.0" +const Version = "8.1.0" const PROMPT = "\033[1;33m>> \033[0m"