Skip to content

Commit b96975b

Browse files
committed
fix: resolve GitHub Actions syntax error and security issue
- Remove invalid length() function calls from workflow expressions - Replace secret exposure with safe configuration validation - Use boolean existence checks instead of secret value inspection - Add comprehensive Chrome configuration validation with bash script - Follow security best practices by not echoing secret values - Update version to 1.3.9 for testing This fixes: - GitHub Actions syntax error: Unrecognized function 'length' - Security risk: API tokens visible in pipeline debug console - Maintains debugging capability without exposing secrets
1 parent af626f4 commit b96975b

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

.github/workflows/ci-cd.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -158,18 +158,27 @@ jobs:
158158
echo "📦 Available artifacts:"
159159
ls -la *.zip *.crx *.xpi 2>/dev/null || echo "Some artifacts missing"
160160
161-
- name: Debug Chrome Secrets
161+
- name: Validate Chrome Configuration
162162
run: |
163-
echo "🔍 Chrome Secrets Debug"
164-
echo "CHROME_EXTENSION_ID exists: ${{ secrets.CHROME_EXTENSION_ID != '' }}"
165-
echo "CHROME_CLIENT_ID exists: ${{ secrets.CHROME_CLIENT_ID != '' }}"
166-
echo "CHROME_CLIENT_SECRET exists: ${{ secrets.CHROME_CLIENT_SECRET != '' }}"
167-
echo "CHROME_REFRESH_TOKEN exists: ${{ secrets.CHROME_REFRESH_TOKEN != '' }}"
163+
echo "🔍 Chrome Configuration Validation"
164+
echo "Extension ID configured: ${{ secrets.CHROME_EXTENSION_ID != '' }}"
165+
echo "Client ID configured: ${{ secrets.CHROME_CLIENT_ID != '' }}"
166+
echo "Client Secret configured: ${{ secrets.CHROME_CLIENT_SECRET != '' }}"
167+
echo "Refresh Token configured: ${{ secrets.CHROME_REFRESH_TOKEN != '' }}"
168168
echo ""
169-
echo "Chrome Extension ID length: ${{ secrets.CHROME_EXTENSION_ID && length(secrets.CHROME_EXTENSION_ID) || 0 }}"
170-
echo "Chrome Client ID length: ${{ secrets.CHROME_CLIENT_ID && length(secrets.CHROME_CLIENT_ID) || 0 }}"
171-
echo "Chrome Client Secret length: ${{ secrets.CHROME_CLIENT_SECRET && length(secrets.CHROME_CLIENT_SECRET) || 0 }}"
172-
echo "Chrome Refresh Token length: ${{ secrets.CHROME_REFRESH_TOKEN && length(secrets.CHROME_REFRESH_TOKEN) || 0 }}"
169+
170+
# Validate all required secrets are configured
171+
if [[ -n "${{ secrets.CHROME_EXTENSION_ID }}" && \
172+
-n "${{ secrets.CHROME_CLIENT_ID }}" && \
173+
-n "${{ secrets.CHROME_CLIENT_SECRET }}" && \
174+
-n "${{ secrets.CHROME_REFRESH_TOKEN }}" ]]; then
175+
echo "✅ All Chrome secrets are configured"
176+
echo "🚀 Proceeding with Chrome Web Store deployment"
177+
else
178+
echo "❌ Missing Chrome secrets configuration"
179+
echo "Please check: CHROME_EXTENSION_ID, CHROME_CLIENT_ID, CHROME_CLIENT_SECRET, CHROME_REFRESH_TOKEN"
180+
echo "Chrome deployment will be skipped"
181+
fi
173182
174183
- name: Deploy to Chrome Web Store
175184
uses: wdzeng/chrome-extension@v1

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "blog-link-analyzer",
3-
"version": "1.3.8",
3+
"version": "1.3.9",
44
"description": "Detects blog posts and extracts linked blog content with titles and authors",
55
"main": "background/service-worker.js",
66
"scripts": {

0 commit comments

Comments
 (0)