-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocs-wiki-full-patch.diff
More file actions
455 lines (375 loc) · 18.8 KB
/
docs-wiki-full-patch.diff
File metadata and controls
455 lines (375 loc) · 18.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md
index f81e02a..9546f1a 100644
--- a/docs/DEPLOYMENT.md
+++ b/docs/DEPLOYMENT.md
@@ -1,9 +1,9 @@
# Security and CVE Mitigation
-- The runner images use `ubuntu:questing` for experimental and bleeding-edge browser support.
-- All dependencies are scanned with Trivy after build and container startup.
-- CVEs in npm's internal modules are not directly fixable; we document and monitor these, and patch all app-level dependencies.
-- For production, switch to a stable Ubuntu LTS base and rerun all security scans.
+ The runner images use `ubuntu:questing` (25.10 pre-release) for the latest browser and system dependencies.
+ All dependencies are scanned with Trivy after build and container startup; results are saved to `test-results/docker/` for audit and compliance.
+ CVEs in npm's internal modules are documented and monitored; all app-level dependencies are patched using npm overrides and local installs.
+ For production, switch to a stable Ubuntu LTS base and rerun all security scans as documented in README and release notes.
# Audit and Compliance
@@ -58,11 +58,11 @@
cd /opt/github-runner
# Configure environment
- cp config/runner.env.template config/runner.env
+ cp config/runner.env.example config/runner.env
# Edit config/runner.env with production values
# Start runners
- ./scripts/deploy.sh start -s 3
+ ./scripts/quick-start.sh
```
3. **Monitoring Setup**
@@ -268,7 +268,7 @@ spec:
# hpa.yml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
-metadata:
+ # Warning: Chrome runner image only supports `linux/amd64`. ARM builds are blocked at build time.
name: github-runner-hpa
namespace: github-runner
spec:
diff --git a/docs/README.md b/docs/README.md
index 5a676bc..e6a603d 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,24 +1,46 @@
# GitHub Runner Documentation
-This directory contains all project documentation organized by category. All documentation blocks, examples, and API docs are now synced with the latest code and workflow changes (as of 2025-09-10).
+This directory contains all project documentation organized by category. All documentation blocks, examples, and API docs are now synced with the latest code and workflow changes (as of 2025-11-14).
+
+## 🛠️ Automated Documentation Validation
+
+All documentation and wiki changes are now automatically checked for outdated references and broken links via the `.github/workflows/docs-validation.yml` workflow. Please ensure your updates pass these checks before merging.
+
+For details, see [docs-validation.yml](../.github/workflows/docs-validation.yml).
## 📁 Directory Structure
-```
docs/
+```
+
├── community/ # Community health files
│ ├── CODE_OF_CONDUCT.md
│ ├── CONTRIBUTING.md
│ └── SECURITY.md
├── features/ # Feature documentation
-│ └── CHROME_RUNNER_FEATURE.md
+│ ├── CHROME_RUNNER_FEATURE.md
+│ ├── AUTOMATED_STAGING_RUNNER_FEATURE.md
+│ ├── DEVELOPMENT_WORKFLOW.md
+│ ├── RUNNER_SELF_TEST.md
+│ ├── SECURITY_ADVISORY_WORKFLOW.md
+│ └── USER_DEPLOYMENT_EXPERIENCE.md
├── releases/ # Release notes and changelogs
-│ └── RELEASE_NOTES_v1.1.0.md
+│ ├── CHANGELOG.md
+│ ├── RELEASE_NOTES_v1.1.0.md
+│ ├── RELEASE_NOTES_v1.1.1.md
+│ ├── RELEASE_NOTES_v2.0.2.md
+│ └── RELEASE_NOTES_v2.1.0.md
├── archive/ # Archived or deprecated documentation
-│ └── README_corrupted.md
+│ ├── README_corrupted.md
+│ └── CRITICAL_SECURITY_FIXES_2025.md
+├── setup/ # Setup guides
+│ └── quick-start.md
+├── API.md # API reference
+├── DEPLOYMENT.md # Production deployment instructions
+├── SETUP_SUMMARY.md # Quick setup instructions
+├── VERSION_OVERVIEW.md # Version tracking
└── README.md # This file
```
-
## 🔗 Quick Links
### Community
@@ -27,26 +49,34 @@ docs/
- [Contributing Guidelines](community/CONTRIBUTING.md) - How to contribute to the project
- [Security Policy](../.github/SECURITY.md) - Security vulnerability reporting
-### Features
+### Features
- [Chrome Runner Feature](features/CHROME_RUNNER_FEATURE.md) - Specialized Chrome runner implementation
+- [Automated Staging Runner](features/AUTOMATED_STAGING_RUNNER_FEATURE.md) - Staging runner bridge and job acceptance
+- [Development Workflow](features/DEVELOPMENT_WORKFLOW.md) - Branching and PR strategy
+- [Runner Self-Test](features/RUNNER_SELF_TEST.md) - Automated runner validation
+
### Releases
+- [Changelog](releases/CHANGELOG.md) - Full release history
+- [Release Notes v2.2.0](releases/RELEASE_NOTES_v2.2.0.md) - Latest release information
+- [Release Notes v2.1.0](releases/RELEASE_NOTES_v2.1.0.md)
+- [Release Notes v2.0.2](releases/RELEASE_NOTES_v2.0.2.md)
+- [Release Notes v1.1.1](releases/RELEASE_NOTES_v1.1.1.md)
+- [Release Notes v1.1.0](releases/RELEASE_NOTES_v1.1.0.md)
-- [Release Notes v1.1.0](releases/RELEASE_NOTES_v1.1.0.md) - Latest release information
### Main Documentation
-
- [Project README](../README.md) - Main project documentation
-- [Setup Guide](../docs/SETUP_SUMMARY.md) - Quick setup instructions
+- [Setup Guide](setup/quick-start.md) - Quick setup instructions
- [API Documentation](API.md) - API reference
- [Deployment Guide](DEPLOYMENT.md) - Production deployment instructions
+- [Version Overview](VERSION_OVERVIEW.md) - Component and image versions
- [Chrome Runner Architecture Enforcement](features/CHROME_RUNNER_FEATURE.md) - Details on amd64-only support
## 📝 Documentation Guidelines
-### File Organization Rules
+### File Organization Rules
- All documentation must be placed in `/docs/` subdirectories (never in root)
- Feature specs: `/docs/features/`
- Community files: `/docs/community/`
@@ -54,6 +84,7 @@ docs/
- Archive: `/docs/archive/`
- API docs: `/docs/API.md`
- Main README: `/README.md` (root)
+- Setup guides: `/docs/setup/`
### Naming Conventions
@@ -66,4 +97,19 @@ docs/
- Sync documentation blocks and examples with code changes
- Document all major workflow, runner, and CI/CD improvements
+
+### Architecture Enforcement
+- Chrome runner image only supports `linux/amd64` (x86_64). Builds on ARM (Apple Silicon) will fail with a clear error.
+
+### Security Scanning
+- Automated Trivy scans for filesystem, container, and Chrome runner images
+- Security scan jobs and workflow files are kept in sync across branches
+
+### Recent Improvements
+- Critical security patches for prototype pollution and DoS vulnerabilities
+- Optimized Docker image sizes and cache cleaning
+- Enhanced Chrome Runner with latest Playwright, Cypress, and Chrome
+- Standardized Docker build contexts for CI/CD
+- Automated security advisory workflow
+
**📋 Note**: This structure helps maintain a clean root directory while keeping documentation organized and easily discoverable.
diff --git a/docs/VERSION_OVERVIEW.md b/docs/VERSION_OVERVIEW.md
index 1a51ac1..c7d1da2 100644
--- a/docs/VERSION_OVERVIEW.md
+++ b/docs/VERSION_OVERVIEW.md
@@ -8,15 +8,15 @@ This document provides a comprehensive overview of all software versions, depend
### 1. Standard Runner (`docker/Dockerfile`)
-**Image Version**: v2.0.2
-**Base Image**: `ubuntu:24.04`
+**Image Version**: v2.2.0
+**Base Image**: `ubuntu:questing` (25.10 Pre-release)
**Purpose**: General-purpose GitHub Actions runner with development tools
**Target Architectures**: `linux/amd64` only
### 2. Chrome Runner (`docker/Dockerfile.chrome`)
-**Image Version**: v2.0.2
-**Base Image**: `ubuntu:24.04`
+**Image Version**: v2.2.0
+**Base Image**: `ubuntu:questing` (25.10 Pre-release)
**Purpose**: Chrome-optimized runner for web UI testing and browser automation
**Target Architectures**: `linux/amd64` only (ARM builds are blocked for Chrome runner)
@@ -31,9 +31,9 @@ This document provides a comprehensive overview of all software versions, depend
### Operating System
-**Base OS**: Ubuntu 24.04 LTS (Noble Numbat)
+**Base OS**: Ubuntu 25.10 Questing (Pre-release)
**Architecture Support**: amd64 only for Chrome Runner; Standard Runner is amd64
-**Kernel Version**: Linux kernel 6.8+
+**Kernel Version**: Linux kernel 6.10+
- **Security Updates**: Applied via `apt-get update` during build
## Runtime Dependencies
@@ -44,7 +44,7 @@ This document provides a comprehensive overview of all software versions, depend
| ----------------- | ---------------------------------- | ---------------------- |
| `nodejs` | 24.11.1 (Chrome Runner only) | JavaScript runtime |
| `npm` | Latest available | Package manager |
-| `python3` | 3.12+ (Ubuntu 24.04 default) | Python runtime |
+| `python3` | 3.10+ (Ubuntu 25.10 default) | Python runtime |
| `python3-pip` | Latest available | Python package manager |
| `git` | Latest available | Version control |
| `git-lfs` | Latest available | Large file support |
@@ -89,7 +89,7 @@ This document provides a comprehensive overview of all software versions, depend
| `boto3` | Latest | AWS SDK |
| `azure-cli` | Latest | Azure CLI |
| `google-cloud-storage` | Latest | Google Cloud SDK |
-| `python3` | 3.12+ | Python runtime |
+| `python3` | 3.10+ | Python runtime |
#### Chrome Runner
@@ -104,7 +104,7 @@ This document provides a comprehensive overview of all software versions, depend
### Google Chrome
-- **Version**: Stable channel (latest)
+- **Version**: 142.0.7444.162 (Stable channel)
- **Installation**: Official Google repository
- **GPG Key**: Verified from `dl.google.com`
- **Binary Path**: `/usr/bin/google-chrome-stable`
@@ -192,29 +192,33 @@ This document provides a comprehensive overview of all software versions, depend
## Health Checks
-### Standard Runner
+
+### Standard Runner Health Check
```dockerfile
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
- CMD pgrep -f "Runner.Listener" || exit 1
+ CMD pgrep -f "Runner.Listener" || exit 1
```
-### Chrome Runner
+
+### Chrome Runner Health Check
```dockerfile
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
- CMD pgrep -f "Runner.Listener" > /dev/null || exit 1
+ CMD pgrep -f "Runner.Listener" > /dev/null || exit 1
```
## Environment Configuration
-### Standard Runner Environment
+
+### Standard Runner Environment Variables
- `RUNNER_WORKDIR=/home/runner/_work`
- `RUNNER_ALLOW_RUNASROOT=false`
- `DEBIAN_FRONTEND=noninteractive`
-### Chrome Runner Environment
+
+### Chrome Runner Environment Variables
- `CHROME_BIN=/usr/bin/google-chrome-stable`
- `DISPLAY=:99`
@@ -222,18 +226,21 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
## Volume Mounts
-### Standard Runner
+
+### Standard Runner Volume Mounts
- `/home/runner/_work` - Persistent workspace
- `/home/runner/.cache` - Build and dependency cache
-### Chrome Runner
+
+### Chrome Runner Volume Mounts
- `/home/runner/.cache` - Browser and test cache
- `/home/runner/workspace` - Test workspace
## Network Configuration
+
### Exposed Ports
- **Standard Runner**: Port 8080 (debugging/monitoring)
@@ -241,12 +248,14 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
## Update Policy
+
### Automated Updates
- **Base OS**: Updated during build via `apt-get update`
- **System Packages**: Latest available versions from Ubuntu repositories
- **GitHub Runner**: Pinned to specific version for stability
+
### Manual Updates Required
- **GitHub Runner Version**: Update `RUNNER_VERSION` ARG in Dockerfiles
@@ -255,8 +264,10 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
## Version History
+
### Recent Changes
+- **2025-11-14**: Release v2.2.0 with npm `tar@7.5.2` override, Chrome 142.0.7444.162, Playwright 1.55.1, Cypress 13.15.0, and refreshed Questing-based documentation.
+- **2025-09-14**: Updated to Ubuntu 25.10 Questing, image version v2.0.9, Chrome 142.0.7444.162, Playwright 1.55.0, Cypress 13.15.0, Node.js 24.11.1 (Chrome Runner only), and architecture enforcement (amd64 only)
- **2025-09-10**: Extensive documentation update for Ubuntu 24.04 LTS, image version v2.0.2, Node.js 24.11.1 (Chrome Runner only), and architecture enforcement (amd64 only)
- **2025-01-15**: Applied VDB-216777/CVE-2020-36632 flat package security fix
- **2025-01-15**: Added comprehensive security patches for Chrome Runner
@@ -272,6 +283,6 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
---
-**Last Updated**: September 10, 2025
+**Last Updated**: November 14, 2025 (Synced with code and workflows)
**Document Version**: 2.0
**Maintainer**: GrammaTonic
diff --git a/docs/features/CHROME_RUNNER_FEATURE.md b/docs/features/CHROME_RUNNER_FEATURE.md
index 89516fe..0a43677 100644
--- a/docs/features/CHROME_RUNNER_FEATURE.md
+++ b/docs/features/CHROME_RUNNER_FEATURE.md
@@ -1,4 +1,4 @@
-- **Architecture Enforcement**: Chrome runner image only supports `linux/amd64` (x86_64). ARM builds are blocked at build time.
+- **Architecture Enforcement**: Chrome runner image only supports `linux/amd64` (x86_64). ARM builds are blocked at build time. Base image is now `ubuntu:questing` (25.10 pre-release) for latest browser support.
# Chrome Runner Feature Branch
diff --git a/docs/features/DEVELOPMENT_WORKFLOW.md b/docs/features/DEVELOPMENT_WORKFLOW.md
index 145035f..e9f5f1a 100644
--- a/docs/features/DEVELOPMENT_WORKFLOW.md
+++ b/docs/features/DEVELOPMENT_WORKFLOW.md
@@ -1,4 +1,4 @@
-# Branch Strategy and Development Workflow
+# Branch Strategy and Development Workflow (Synced September 2025)
This document outlines the branch strategy and development workflow for the GitHub Runner project.
diff --git a/docs/features/RUNNER_SELF_TEST.md b/docs/features/RUNNER_SELF_TEST.md
index 26a16cf..5c46955 100644
--- a/docs/features/RUNNER_SELF_TEST.md
+++ b/docs/features/RUNNER_SELF_TEST.md
@@ -1,6 +1,6 @@
# Runner Self-Test (issue #969)
-This document explains how to smoke-test that self-hosted runners (standard and Chrome) accept GitHub Actions jobs and can execute a simple test workflow.
+This document explains how to smoke-test that self-hosted runners (standard and Chrome) accept GitHub Actions jobs and can execute a simple test workflow. All runner images are now based on `ubuntu:questing` (25.10 pre-release) and support the latest GitHub Actions runner version.
What this provides
diff --git a/docs/features/SECURITY_ADVISORY_WORKFLOW.md b/docs/features/SECURITY_ADVISORY_WORKFLOW.md
index 8050257..3ed80a0 100644
--- a/docs/features/SECURITY_ADVISORY_WORKFLOW.md
+++ b/docs/features/SECURITY_ADVISORY_WORKFLOW.md
@@ -1,4 +1,4 @@
-# Security Advisory Management Workflow
+# Security Advisory Management Workflow (Synced September 2025)
This document explains the new security management approach that replaces the previous issue-creating workflow.
diff --git a/docs/features/USER_DEPLOYMENT_EXPERIENCE.md b/docs/features/USER_DEPLOYMENT_EXPERIENCE.md
index 2fee354..78de18d 100644
--- a/docs/features/USER_DEPLOYMENT_EXPERIENCE.md
+++ b/docs/features/USER_DEPLOYMENT_EXPERIENCE.md
@@ -102,7 +102,7 @@ Failed: 0
✅ **Complete deployment experience**
-- **One-command setup**: `./scripts/quick-start.sh`
+- **One-command setup**: `./scripts/quick-start.sh` (now validates environment and automates deployment for both runner types)
- Production-ready configuration out of the box
- Clear guidance when issues occur
- Automated validation prevents deployment problems
diff --git a/docs/releases/CHANGELOG.md b/docs/releases/CHANGELOG.md
index 86ba53a..388082e 100644
--- a/docs/releases/CHANGELOG.md
+++ b/docs/releases/CHANGELOG.md
@@ -1,5 +1,5 @@
# [Unreleased]
-- Documentation updated to reflect use of `ubuntu:questing` as base image for Chrome runner.
+- Documentation updated to reflect use of `ubuntu:questing` (25.10 pre-release) as base image for all runners.
- Added detailed explanation of CVE mitigation strategy, including npm overrides, Trivy scan automation, and audit workflow.
- Migration notes for switching to stable Ubuntu LTS for production.
- Reference: See PR #<PR_NUMBER> or commit <COMMIT_HASH>.
diff --git a/docs/releases/RELEASE_NOTES_v1.1.0.md b/docs/releases/RELEASE_NOTES_v1.1.0.md
index 00b0dde..ae30f0d 100644
--- a/docs/releases/RELEASE_NOTES_v1.1.0.md
+++ b/docs/releases/RELEASE_NOTES_v1.1.0.md
@@ -67,7 +67,7 @@ git clone https://github.com/GrammaTonic/github-runner.git
cd github-runner
# Configure environment
-cp config/runner.env.template config/runner.env
+cp config/runner.env.example config/runner.env
# Edit config/runner.env with your GitHub token and repository
# Deploy
diff --git a/docs/releases/RELEASE_NOTES_v2.1.0.md b/docs/releases/RELEASE_NOTES_v2.1.0.md
index 779843e..7500b55 100644
--- a/docs/releases/RELEASE_NOTES_v2.1.0.md
+++ b/docs/releases/RELEASE_NOTES_v2.1.0.md
@@ -1,7 +1,7 @@
# Release Notes v2.1.0
## Highlights
-- Chrome runner now uses `ubuntu:questing` (25.10 pre-release) for latest browser and system dependencies.
+- Chrome runner now uses `ubuntu:questing` (25.10 pre-release) for latest browser and system dependencies. Standard runner also updated to questing base image.
- CVE mitigation strategy documented: npm overrides, local installs, Trivy scan automation, and audit workflow.
- All images are scanned with Trivy; results saved to `test-results/docker/` for compliance and review.
- Documentation and wiki updated to reflect questing usage and security practices.
diff --git a/wiki-content/Installation-Guide.md b/wiki-content/Installation-Guide.md
index 540b5bf..16b607c 100644
--- a/wiki-content/Installation-Guide.md
+++ b/wiki-content/Installation-Guide.md
@@ -45,9 +45,10 @@ cd github-runner
### 2. Configure Environment
-```bash
-# Copy configuration template
-cp config/runner.env.template config/runner.env
+# Copy configuration example
+ # Copy the example environment file into a working runner.env before editing
+# Copy configuration example
+cp config/runner.env.example config/runner.env
# Edit configuration
nano config/runner.env
diff --git a/wiki-content/Quick-Start.md b/wiki-content/Quick-Start.md
index c48a1fd..2bb0d18 100644
--- a/wiki-content/Quick-Start.md
+++ b/wiki-content/Quick-Start.md
@@ -20,8 +20,9 @@ cd github-runner
### Step 2: Configure Environment (2 minutes)
```bash
-# Copy configuration template
-cp config/runner.env.template config/runner.env
+# Copy configuration example
+# Copy the example environment file into a working runner.env before editing
+cp config/runner.env.example config/runner.env
# Edit with your settings
nano config/runner.env