|
14 | 14 | env: |
15 | 15 | GITHUB_TOKEN: ${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }} |
16 | 16 | GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }} |
17 | | - DISPLAY: ":99" |
18 | 17 |
|
19 | 18 | jobs: |
20 | 19 | # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. |
|
42 | 41 | - name: Checkout |
43 | 42 | uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
44 | 43 |
|
45 | | - # Setup complete Three.js test environment |
46 | | - - name: Setup Three.js Test Environment (Chrome + Xvfb + Dependencies) |
47 | | - run: | |
48 | | - echo "🔧 Setting up complete Three.js test environment..." |
49 | | - # Install system dependencies for Three.js rendering |
50 | | - sudo apt-get update |
51 | | - sudo apt-get install -y --no-install-recommends \ |
52 | | - xvfb dbus-x11 x11-utils \ |
53 | | - libgtk2.0-0 libgtk-3-0 libgbm-dev libgbm1 \ |
54 | | - libnotify-dev libnss3 libxss1 \ |
55 | | - libxtst6 xauth \ |
56 | | - graphviz ffmpeg \ |
57 | | - fonts-noto fonts-noto-cjk fonts-noto-cjk-extra \ |
58 | | - ca-certificates fonts-liberation \ |
59 | | - libatk-bridge2.0-0 libatk1.0-0 libcups2 \ |
60 | | - libdbus-1-3 libdrm2 libnspr4 \ |
61 | | - libx11-xcb1 libxcomposite1 libxdamage1 \ |
62 | | - libxfixes3 libxrandr2 libxrender1 \ |
63 | | - libxshmfence1 xdg-utils wget libxkbcommon0 xkb-data |
64 | | - # Install Google Chrome Stable for Three.js WebGL support |
65 | | - wget -qO- https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg |
66 | | - echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list |
67 | | - sudo apt-get update |
68 | | - sudo apt-get install -y google-chrome-stable |
69 | | -
|
70 | | - # Setup D-Bus for Chrome |
71 | | - sudo mkdir -p /var/run/dbus |
72 | | - sudo dbus-daemon --system --fork || true |
73 | | - |
74 | | - # Verify Chrome installation |
75 | | - google-chrome --version |
76 | | - echo "✅ Three.js test environment setup complete" |
77 | | - env: |
78 | | - DISPLAY: ":99" |
79 | | - XKB_DEFAULT_RULES: evdev |
80 | | - XKB_DEFAULT_MODEL: pc105 |
81 | | - XKB_DEFAULT_LAYOUT: us |
82 | | - |
83 | 44 | # JavaScript/TypeScript setup |
84 | 45 | - name: Setup Node.js |
85 | 46 | uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 |
@@ -134,43 +95,4 @@ jobs: |
134 | 95 | - name: Install Playwright browsers (and OS deps) |
135 | 96 | run: npx playwright install --with-deps |
136 | 97 | env: |
137 | | - DISPLAY: ":99" |
138 | 98 | PLAYWRIGHT_BROWSERS_PATH: "0" |
139 | | - |
140 | | - - name: Verify Cypress for Three.js Testing |
141 | | - run: | |
142 | | - npx cypress verify |
143 | | - npx cypress info |
144 | | - echo "✅ Cypress verified and ready for Three.js tests" |
145 | | -
|
146 | | - - name: Display environment info |
147 | | - run: | |
148 | | - echo "=========================================" |
149 | | - echo "Environment Setup Complete" |
150 | | - echo "=========================================" |
151 | | - echo "Node version: $(node --version)" |
152 | | - echo "npm version: $(npm --version)" |
153 | | - echo "TypeScript version: $(npx tsc --version)" |
154 | | - echo "Cypress version: $(npx cypress version)" |
155 | | - echo "Chrome version: $(google-chrome --version)" |
156 | | - echo "Display: $DISPLAY" |
157 | | - echo "Xvfb running: $(pgrep -x Xvfb >/dev/null && echo 'Yes' || echo 'No')" |
158 | | - echo "D-Bus running: $(pgrep -x dbus-daemon >/dev/null && echo 'Yes' || echo 'No')" |
159 | | - echo "Working directory: $(pwd)" |
160 | | - echo "Build artifacts: $(ls -la dist/ 2>/dev/null | wc -l) files" |
161 | | - echo "=========================================" |
162 | | - echo "MCP Servers Available:" |
163 | | - echo "- GitHub MCP Server: HTTP (https://api.githubcopilot.com/mcp/insiders)" |
164 | | - echo "- mcp-server-filesystem: $(which mcp-server-filesystem 2>/dev/null || echo 'not found')" |
165 | | - echo "- mcp-server-memory: $(which mcp-server-memory 2>/dev/null || echo 'not found')" |
166 | | - echo "- mcp-server-sequential-thinking: $(which mcp-server-sequential-thinking 2>/dev/null || echo 'not found')" |
167 | | - echo "- Playwright MCP: @playwright/mcp (via npx)" |
168 | | - echo "=========================================" |
169 | | - echo "Three.js Test Environment Ready" |
170 | | - echo "- WebGL rendering: SwiftShader (software)" |
171 | | - echo "- Target FPS: 30-60fps" |
172 | | - echo "- Memory limit: 4GB Node.js heap" |
173 | | - echo "==========================================" |
174 | | - env: |
175 | | - DISPLAY: ":99" |
176 | | - |
0 commit comments