@@ -25,72 +25,73 @@ For advanced users and maintainers:
2525
2626---
2727
28- ## 🚀 Quick Start (5 Minutes)
28+ ## 🚀 Quick Start (15-20 Minutes)
2929
3030### 1. ** Understand the System**
3131- Tests run on native ARM64 GitHub runners (` ubuntu-24.04-arm ` )
3232- Results stored as JSON badges in ` data/test-results/ `
3333- Badges auto-display on the Hugo dashboard
3434
35- ### 2. ** Add Your First Package **
35+ ### 2. ** Copy the Template **
3636
37- Create ` .github/workflows/test-your-package.yml ` :
37+ Start with our template file :
3838
39+ ``` bash
40+ cp .github/workflows/template-package-test.yml .github/workflows/test-redis.yml
41+ ```
42+
43+ ### 3. ** Customize for Your Package**
44+
45+ Edit ` test-redis.yml ` and replace placeholders:
46+ - Change ` <PACKAGE> ` → ` Redis ` (display name)
47+ - Change ` <package> ` → ` redis ` (lowercase, matches filename)
48+ - Update install commands (apt, binary download, etc.)
49+ - Update version detection command
50+ - Add/modify test steps as needed
51+
52+ Example install section:
3953``` yaml
40- name : Test Your Package on Arm64
41-
42- on :
43- workflow_dispatch :
44- schedule :
45- - cron : ' 0 2 * * *' # Daily at 2 AM UTC
46-
47- jobs :
48- test-your-package :
49- uses : ./.github/workflows/reusable-package-test.yml
50- with :
51- package_name : " your-package"
52- package_display_name : " Your Package"
53- package_version : " 1.2.3"
54- install_commands : |
55- sudo apt-get update
56- sudo apt-get install -y your-package
57- version_command : " your-package --version"
58- test_commands : |
59- [
60- {
61- "name": "Binary Check",
62- "command": "which your-package"
63- },
64- {
65- "name": "Version Check",
66- "command": "your-package --version"
67- },
68- {
69- "name": "Functional Test",
70- "command": "your-package --test"
71- }
72- ]
54+ - name : Install Redis
55+ run : |
56+ sudo apt-get update
57+ sudo apt-get install -y redis-server
7358` ` `
7459
75- ### 3. **Run and Verify**
60+ ### 4. **Add to Orchestrator**
61+
62+ Edit ` .github/workflows/test-all-packages.yml` and add:
63+
64+ ` ` ` yaml
65+ test-redis:
66+ uses: ./.github/workflows/test-redis.yml
67+ ` ` `
68+
69+ # ## 5. **Run and Verify**
70+
7671` ` ` bash
77- # Trigger the workflow
78- gh workflow run test-your-package.yml
72+ # Test locally with act (optional)
73+ act workflow_dispatch -j test-redis
74+
75+ # Or trigger via GitHub
76+ gh workflow run test-redis.yml
7977
8078# Check the results
81- cat data/test-results/your-package .json
79+ cat data/test-results/redis .json
8280` ` `
8381
84- ### 4. ** See the Badge**
85- The badge will automatically appear on your package page in the Hugo dashboard!
82+ # ## 6. **See the Badge**
83+
84+ The badge will automatically appear on the Redis package page in the Hugo dashboard!
85+
86+ **💡 Tip:** Look at `test-nginx.yml` or `test-envoy.yml` for real working examples.
8687
8788---
8889
8990# # 📊 System Overview
9091
9192```
9293┌─────────────────────────────────────────────────────────┐
93- │ test-all-packages.yml (Parent Orchestrator) │
94+ │ test-all-packages.yml (Orchestrator) │
9495│ • Triggers all package tests in parallel │
9596│ • Runs daily at 2 AM UTC │
9697│ • Aggregates results │
@@ -101,32 +102,31 @@ The badge will automatically appear on your package page in the Hugo dashboard!
101102┌──────────────┐ ┌──────────────┐ ┌──────────────┐
102103│ test-nginx │ │ test-envoy │ │ test-redis │
103104│ .yml │ │ .yml │ │ .yml │
105+ │ │ │ │ │ │
106+ │ 1. Install │ │ 1. Install │ │ 1. Install │
107+ │ 2. Version │ │ 2. Version │ │ 2. Version │
108+ │ 3. Test │ │ 3. Test │ │ 3. Test │
109+ │ 4. JSON │ │ 4. JSON │ │ 4. JSON │
110+ │ 5. Commit │ │ 5. Commit │ │ 5. Commit │
104111└──────────────┘ └──────────────┘ └──────────────┘
105112 │ │ │
106- └──────────────────┼──────────────────┘
107- ▼
108- ┌─────────────────────────────────────────┐
109- │ reusable-package-test.yml │
110- │ • Generic test template │
111- │ • Install → Version → Test → Badge │
112- │ • Auto-conflict resolution │
113- └─────────────────────────────────────────┘
114- │
115- ▼
116- ┌─────────────────────────────────────────┐
117- │ data/test-results/package.json │
118- │ • JSON schema v1.0 │
119- │ • Auto-committed [skip ci] │
120- └─────────────────────────────────────────┘
113+ ▼ ▼ ▼
114+ ┌─────────────────────────────────────────────────────────┐
115+ │ data/test-results/* .json │
116+ │ • JSON schema v1.0 │
117+ │ • Auto-committed [ skip ci] │
118+ └─────────────────────────────────────────────────────────┘
121119 │
122120 ▼
123- ┌ ─────────────────────────────────────────┐
124- │ Hugo Dashboard Badge Display │
125- │ • Integrated in row-sub.html │
126- │ • Green/Red color coding │
127- └ ─────────────────────────────────────────┘
121+ ┌──────────────── ─────────────────────────────────────────┐
122+ │ Hugo Dashboard Badge Display │
123+ │ • Integrated in row-sub.html │
124+ │ • Green/Red color coding │
125+ └──────────────── ─────────────────────────────────────────┘
128126```
129127
128+ **Pattern:** All workflows follow the same structure - copy `template-package-test.yml` and customize.
129+
130130---
131131
132132## 🎯 Current Status
@@ -142,8 +142,12 @@ The badge will automatically appear on your package page in the Hugo dashboard!
142142
143143## 🔧 Key Files
144144
145- - ** ` .github/workflows/reusable-package-test.yml ` ** - The reusable workflow template
146- - ** ` .github/workflows/test-all-packages.yml ` ** - Parent orchestrator
145+ ## 🔧 Key Files
146+
147+ - **`.github/workflows/template-package-test.yml`** - Template for new package tests
148+ - **`.github/workflows/test-nginx.yml`** - nginx example (5 tests)
149+ - **`.github/workflows/test-envoy.yml`** - Envoy example (4 tests)
150+ - **`.github/workflows/test-all-packages.yml`** - Orchestrator
147151- **`data/test-results/*.json`** - Test result JSON files
148152- **`themes/.../row-sub.html`** - Badge display template
149153
@@ -161,10 +165,11 @@ The badge will automatically appear on your package page in the Hugo dashboard!
161165## 🤝 Contributing
162166
163167When adding new packages:
164- 1 . Follow the pattern in ` test-nginx.yml ` or ` test-envoy.yml `
165- 2 . Use the reusable workflow template for consistency
166- 3 . Test locally before committing
167- 4 . Update this README's status table
168+ 1. Copy `template-package-test.yml` to `test-<package>.yml`
169+ 2. Customize install, version, and test steps
170+ 3. Add to `test-all-packages.yml`
171+ 4. Test locally before committing
172+ 5. Update this README's status table
168173
169174---
170175
0 commit comments