ComfyUI: Fix update script #4814
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml | |
| name: Frontend CI/CD | |
| on: | |
| push: | |
| branches: ["main"] | |
| paths: | |
| - frontend/** | |
| pull_request: | |
| branches: ["main"] | |
| types: [opened, synchronize, reopened, edited] | |
| paths: | |
| - frontend/** | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: pages-${{ github.ref }} | |
| cancel-in-progress: false | |
| jobs: | |
| test-json-files: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.x" | |
| - name: Test JSON files | |
| run: | | |
| python3 << 'EOF' | |
| import json | |
| import glob | |
| import os | |
| import sys | |
| def test_json_files(): | |
| # Change to the correct directory | |
| json_dir = "public/json" | |
| if not os.path.exists(json_dir): | |
| print(f"❌ Directory not found: {json_dir}") | |
| return False | |
| # Find all JSON files | |
| pattern = os.path.join(json_dir, "*.json") | |
| json_files = glob.glob(pattern) | |
| if not json_files: | |
| print(f"⚠️ No JSON files found in {json_dir}") | |
| return True | |
| print(f"Testing {len(json_files)} JSON files for valid syntax...") | |
| invalid_files = [] | |
| for file_path in json_files: | |
| try: | |
| with open(file_path, 'r', encoding='utf-8') as f: | |
| json.load(f) | |
| print(f"✅ Valid JSON: {file_path}") | |
| except json.JSONDecodeError as e: | |
| print(f"❌ Invalid JSON syntax in: {file_path}") | |
| print(f" Error: {e}") | |
| invalid_files.append(file_path) | |
| except Exception as e: | |
| print(f"⚠️ Error reading: {file_path}") | |
| print(f" Error: {e}") | |
| invalid_files.append(file_path) | |
| print("\n=== JSON Validation Summary ===") | |
| print(f"Total files tested: {len(json_files)}") | |
| print(f"Valid files: {len(json_files) - len(invalid_files)}") | |
| print(f"Invalid files: {len(invalid_files)}") | |
| if invalid_files: | |
| print("\n❌ Found invalid JSON file(s):") | |
| for file_path in invalid_files: | |
| print(f" - {file_path}") | |
| return False | |
| else: | |
| print("\n✅ All JSON files have valid syntax!") | |
| return True | |
| if __name__ == "__main__": | |
| success = test_json_files() | |
| sys.exit(0 if success else 1) | |
| EOF | |
| build: | |
| if: github.repository == 'community-scripts/ProxmoxVE' | |
| needs: test-json-files | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Configure Next.js for pages | |
| uses: actions/configure-pages@v5 | |
| with: | |
| static_site_generator: next | |
| - name: Build with Next.js | |
| run: bun run build | |
| - name: Upload artifact | |
| if: github.ref == 'refs/heads/main' | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: frontend/out | |
| deploy: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.ref == 'refs/heads/main' && github.repository == 'community-scripts/ProxmoxVE' | |
| permissions: | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |