Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
527e682
feat: add comprehensive design standards documentation site
claude Nov 21, 2025
173ff55
feat: add one-click subdomain deployment to DevOps panel
claude Nov 21, 2025
1a1a2ea
fix: correct Vercel framework value for Docusaurus
claude Nov 21, 2025
ddbfdca
fix: resolve Docusaurus deployment issues
claude Nov 21, 2025
b927c48
docs: add comprehensive PR summary for design standards and deploymen…
claude Nov 21, 2025
2a107cd
feat: add comprehensive Penpot integration guide
claude Nov 21, 2025
7dde899
feat: add Penpot API integration with secure token management
claude Nov 21, 2025
356ea38
docs: add Penpot quickstart guide for immediate use
claude Nov 21, 2025
6b58193
feat: integrate Penpot management into DevOps panel and rebrand desig…
claude Nov 21, 2025
2c7825c
fix: replace emojis with Lucide React icons for consistent design sta…
claude Nov 21, 2025
c6fea0e
feat: implement VLN branding with custom logo, hero image, and brande…
claude Nov 21, 2025
749f325
docs: update PR summary with complete feature list and VLN branding c…
claude Nov 21, 2025
7e3bf4b
Merge branch 'main' into claude/design-standards-docs-01H5ndf1nErywPh…
4eckd Nov 21, 2025
4723e33
Potential fix for code scanning alert no. 15: Shell command built fro…
4eckd Nov 21, 2025
48d58c4
chore: update SEO and marketing files [skip ci]
github-actions[bot] Nov 21, 2025
fe4d9cf
feat: add automated Vercel deployment monitoring and fix framework error
claude Nov 21, 2025
05b50e0
chore: update SEO and marketing files [skip ci]
github-actions[bot] Nov 21, 2025
a34f949
Merge branch 'claude/design-standards-docs-01H5ndf1nErywPhvDdi1e2gP' …
claude Nov 22, 2025
319d93d
chore: resolve merge conflict in CNAME timestamp
claude Nov 22, 2025
afc7937
chore: update SEO and marketing files [skip ci]
github-actions[bot] Nov 22, 2025
4b63e3b
fix: resolve broken documentation links in design-standards
claude Nov 22, 2025
d406e41
Merge branch 'claude/fix-vercel-framework-01DUtMAEdwnRNRN2xCBETFth' o…
claude Nov 22, 2025
a2fd37a
chore: update SEO and marketing files [skip ci]
github-actions[bot] Nov 22, 2025
628ecaa
fix: update homepage link to point to getting-started
claude Nov 22, 2025
c1f1eef
Merge branch 'claude/fix-vercel-framework-01DUtMAEdwnRNRN2xCBETFth' o…
claude Nov 22, 2025
acbb0bc
chore: update SEO and marketing files [skip ci]
github-actions[bot] Nov 22, 2025
158dc13
chore: trigger Vercel rebuild with all fixes
claude Nov 22, 2025
05866cc
Merge branch 'claude/fix-vercel-framework-01DUtMAEdwnRNRN2xCBETFth' o…
claude Nov 22, 2025
03c6e1c
chore: update SEO and marketing files [skip ci]
github-actions[bot] Nov 22, 2025
84413de
Merge branch 'main' into claude/fix-vercel-framework-01DUtMAEdwnRNRN2…
4eckd Nov 22, 2025
10cb2d1
chore: update SEO and marketing files [skip ci]
github-actions[bot] Nov 22, 2025
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
259 changes: 259 additions & 0 deletions .github/workflows/vercel-deployment-monitor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
name: Vercel Deployment Monitor

on:
# Run after pushes to main that might trigger deployments
push:
branches:
- main
paths:
- 'design-standards/**'
- '.github/workflows/vercel-deployment-monitor.yml'

# Run on schedule - check every 30 minutes
schedule:
- cron: '*/30 * * * *'

# Allow manual triggering
workflow_dispatch:
inputs:
project_name:
description: 'Vercel project name to monitor'
required: false
default: 'design-standards'

permissions:
contents: read
issues: write

env:
PROJECT_NAME: ${{ github.event.inputs.project_name || 'design-standards' }}

jobs:
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Monitor Vercel Deployment
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
monitor-deployment:
name: 🔍 Monitor Vercel Deployment
runs-on: ubuntu-latest

steps:
- name: 📥 Checkout Repository
uses: actions/checkout@v4

- name: 🎯 Setup Environment
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🔍 Vercel Deployment Monitor"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "Project: ${{ env.PROJECT_NAME }}"
echo "Domain: design.vln.gg"
echo "Repository: ${{ github.repository }}"
echo "Triggered by: ${{ github.event_name }}"
echo "Branch: ${{ github.ref_name }}"
echo ""

- name: 🔧 Make monitor script executable
run: chmod +x scripts/monitor-vercel-deployment.sh

- name: 🚀 Run Deployment Monitor
id: monitor
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "→ Checking deployment status..."
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

# Run monitor script
./scripts/monitor-vercel-deployment.sh "${{ env.PROJECT_NAME }}" || EXIT_CODE=$?

# Script exits with 0 if deployment is successful
# Script exits with 1 if deployment failed (and creates an issue)
if [ "${EXIT_CODE:-0}" -eq 0 ]; then
echo "deployment_status=success" >> $GITHUB_OUTPUT
else
echo "deployment_status=failed" >> $GITHUB_OUTPUT
fi

exit ${EXIT_CODE:-0}
continue-on-error: true

- name: 📊 Generate Summary
if: always()
run: |
STATUS="${{ steps.monitor.outputs.deployment_status }}"

cat > $GITHUB_STEP_SUMMARY << 'EOF'
# 🔍 Vercel Deployment Monitor Report

## Deployment Status

**Project:** ${{ env.PROJECT_NAME }}
**Domain:** design.vln.gg
**Status:** ${{ steps.monitor.outputs.deployment_status }}
**Checked at:** $(date -u '+%Y-%m-%d %H:%M:%S UTC')

EOF

if [ "$STATUS" = "success" ]; then
cat >> $GITHUB_STEP_SUMMARY << 'EOF'
## ✅ Deployment Successful

The latest deployment is live and healthy!

- ✅ Build completed successfully
- ✅ Site is accessible
- ✅ No errors detected

**Next Steps:**
- Monitor continues on schedule
- No action required

EOF
elif [ "$STATUS" = "failed" ]; then
cat >> $GITHUB_STEP_SUMMARY << 'EOF'
## ❌ Deployment Failed

The deployment has failed and an issue has been created automatically.

**Actions Taken:**
- 🔍 Build logs analyzed
- 📝 GitHub issue created with error details
- 💡 Possible solutions provided
- 🔔 Team notified

**Next Steps:**
1. Review the automatically created GitHub issue
2. Check the suggested solutions
3. Fix the issue in your codebase
4. Push changes to trigger a new deployment

**Links:**
- [View Issues](https://github.com/${{ github.repository }}/issues?q=is%3Aissue+is%3Aopen+label%3Adeployment)
- [Vercel Dashboard](https://vercel.com/${{ github.repository }})

EOF
else
cat >> $GITHUB_STEP_SUMMARY << 'EOF'
## ⏳ Status Unknown

Could not determine deployment status. This may be temporary.

**Possible Reasons:**
- No deployments found (first deployment pending)
- Vercel API temporarily unavailable
- Invalid project name or credentials

**Next Steps:**
- Check Vercel dashboard manually
- Verify VERCEL_TOKEN secret is configured
- Monitor will retry on next scheduled run

EOF
fi

cat >> $GITHUB_STEP_SUMMARY << 'EOF'
---

## Configuration

**Monitor Schedule:** Every 30 minutes
**Project Monitored:** ${{ env.PROJECT_NAME }}
**Auto-Issue Creation:** ✅ Enabled

## Manual Trigger

To manually check deployment status:
- Go to Actions → Vercel Deployment Monitor
- Click "Run workflow"
- Select branch and click "Run"

---
*Monitoring powered by GitHub Actions*
*Report generated at: $(date -u '+%Y-%m-%d %H:%M:%S UTC')*
EOF

- name: ⚠️ Notify on Persistent Failures
if: steps.monitor.outputs.deployment_status == 'failed'
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "⚠️ Deployment Failure Detected"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "An issue has been automatically created with:"
echo " • Detailed error logs"
echo " • Possible solutions"
echo " • Links to Vercel dashboard"
echo ""
echo "Please check the Issues tab for details."
echo ""

# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Check for Duplicate Issues (Cleanup)
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
cleanup-duplicate-issues:
name: 🧹 Cleanup Duplicate Issues
runs-on: ubuntu-latest
needs: monitor-deployment
if: always()

steps:
- name: 📥 Checkout Repository
uses: actions/checkout@v4

- name: 🔍 Find and Close Duplicate Issues
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🧹 Checking for duplicate deployment issues..."
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

# Get all open deployment issues
ISSUES=$(curl -s \
-H "Authorization: token ${GITHUB_TOKEN}" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/${{ github.repository }}/issues?labels=deployment,automated&state=open&per_page=100")

# Count issues
ISSUE_COUNT=$(echo "$ISSUES" | grep -c '"number":' || echo 0)

echo "Found ${ISSUE_COUNT} open deployment issues"

if [ "$ISSUE_COUNT" -gt 3 ]; then
echo "⚠️ Multiple deployment failure issues detected"
echo "Consider reviewing and consolidating these issues"
echo ""
echo "To manually close duplicate issues:"
echo " 1. Go to Issues tab"
echo " 2. Filter by label: deployment, automated"
echo " 3. Close resolved or duplicate issues"
else
echo "✓ Issue count is within normal range"
fi

- name: 📊 Generate Cleanup Summary
if: always()
run: |
cat > $GITHUB_STEP_SUMMARY << 'EOF'
# 🧹 Issue Cleanup Report

## Summary

Checked for duplicate deployment failure issues.

**Actions:**
- ✅ Scanned open issues with 'deployment' label
- ✅ Counted active deployment alerts

**Recommendations:**
- Close issues once deployments are fixed
- Keep only the most recent failure issue open
- Use issue comments for updates instead of creating new issues

---
*Report generated at: $(date -u '+%Y-%m-%d %H:%M:%S UTC')*
EOF
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0




## [Unreleased] - 2025-11-22

### Added
- add automated Vercel deployment monitoring and fix framework error (@)
- implement VLN branding with custom logo, hero image, and branded content cards (@)
- integrate Penpot management into DevOps panel and rebrand design.vln.gg (@)
- add Penpot API integration with secure token management (@)
- add comprehensive Penpot integration guide (@)
- add comprehensive design standards documentation site (#49) (@)
- add one-click subdomain deployment to DevOps panel (@)
- add comprehensive design standards documentation site (@)
- add subdomain architecture and enhanced security for DevOps panel (#48) (@)

### Changed
- Claude/design standards docs 01 h5ndf1n eryw phv ddi1e2g p (#51) (@)
- Potential fix for code scanning alert no. 15: Shell command built from environment values (@)
- Potential fix for code scanning alert no. 4: Unused import (@)
- Potential fix for code scanning alert no. 3: Unused import (@)
- (feat) Real time tracking statistics (#41) (@)
- Jlucus/update autotags (#40) (@)
- Update issue templates (#30) (@)
- Claude/update devops docs automation 01 v rr q8p6abc ad w st qu p rf9u (#33) (@)

### Fixed
- replace emojis with Lucide React icons for consistent design standards (@)
- resolve Docusaurus deployment issues (@)
- correct Vercel framework value for Docusaurus (@)
- resolve workflow failures in GitHub Actions (#39) (@)

### Documentation
- update PR summary with complete feature list and VLN branding changes (@)
- add Penpot quickstart guide for immediate use (@)
- add comprehensive PR summary for design standards and deployment features (@)
- add comprehensive LinkedIn article covering entire DevOps system (#50) (@)

---

## [Unreleased] - 2025-11-21

### Added
Expand Down
2 changes: 1 addition & 1 deletion CNAME
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CNAME Configuration for GitHub Pages
#
# Author: Unknown <unknown@example.com>
# Generated: 2025-11-21 04:34:13 UTC
# Generated: 2025-11-22 08:23:46 UTC
#
# Instructions:
# 1. Uncomment the line below and replace with your domain
Expand Down
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,19 @@ Centralized web dashboard for project management.
- `/api/webhook-manager` - Manage Telegram bot webhooks (GET/POST)
- Full CORS support for cross-origin requests

#### 🔍 Vercel Deployment Monitoring
Automated monitoring system for design.vln.gg with intelligent failure detection and auto-issue creation.

**Features:**
- ✅ Monitors deployments every 30 minutes automatically
- ✅ Smart error detection with context-aware solutions
- ✅ Auto-creates GitHub issues on build failures with detailed logs
- ✅ Framework validation, dependency errors, build failures, and timeout detection
- ✅ Provides step-by-step solutions based on error type
- ✅ Duplicate issue prevention and cleanup

**See:** [docs/VERCEL-DEPLOYMENT-MONITORING.md](docs/VERCEL-DEPLOYMENT-MONITORING.md) for complete documentation

#### 🌐 Subdomain Architecture
Standardized subdomain structure for vln.gg domain with 12 designated subdomains:

Expand Down
9 changes: 6 additions & 3 deletions design-standards/docs/tools/mockup-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -337,13 +337,16 @@ Add screenshots to your PR or documentation:
## Responsive Preview

### Mobile (375px)
![Mobile view](./screenshots/feature-mobile.png)
<!-- Screenshot: feature-mobile.png -->
_Add screenshot here after implementation_

### Tablet (768px)
![Tablet view](./screenshots/feature-tablet.png)
<!-- Screenshot: feature-tablet.png -->
_Add screenshot here after implementation_

### Desktop (1920px)
![Desktop view](./screenshots/feature-desktop.png)
<!-- Screenshot: feature-desktop.png -->
_Add screenshot here after implementation_

## Testing Notes

Expand Down
8 changes: 2 additions & 6 deletions design-standards/docs/tutorial-basics/markdown-features.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ slug: /my-custom-url

## Markdown heading

Markdown text with [links](./hello.md)
Markdown text with [links](./create-a-document.md)
```

## Links
Expand Down Expand Up @@ -51,11 +51,7 @@ You can use absolute paths to reference images in the static directory (`static/

![Docusaurus logo](/img/docusaurus.png)

You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:

```md
![Docusaurus logo](./img/docusaurus.png)
```
You can also reference images relative to the current file by placing them in a local `img/` directory next to your markdown file.

## Code Blocks

Expand Down
4 changes: 2 additions & 2 deletions design-standards/src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ function HomepageHeader() {
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
Docusaurus Tutorial - 5min ⏱️
to="/getting-started">
Get Started with VLN Design →
</Link>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion design-standards/vercel.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"devCommand": "npm start",
"installCommand": "npm install",
"outputDirectory": "build",
"framework": "docusaurus-v2",
"framework": "docusaurus-2",
"regions": ["iad1"],
"headers": [
{
Expand Down
Loading