chore: Add Caddy compatibility gate workflow and related scripts; update documentation and test cases
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
name: Caddy PR-1 Compatibility Gate
|
||||
name: Caddy Compatibility Gate
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
@@ -6,7 +6,7 @@ on:
|
||||
- Dockerfile
|
||||
- scripts/caddy-compat-matrix.sh
|
||||
- docs/plans/current_spec.md
|
||||
- .github/workflows/caddy-pr1-compat.yml
|
||||
- .github/workflows/caddy-compat.yml
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
@@ -44,14 +44,14 @@ jobs:
|
||||
--platforms linux/amd64,linux/arm64 \
|
||||
--smoke-set boot_caddy,plugin_modules,config_validate,admin_api_health \
|
||||
--output-dir test-results/caddy-compat \
|
||||
--docs-report docs/reports/caddy-pr1-compatibility-matrix.md
|
||||
--docs-report docs/reports/caddy-compatibility-matrix.md
|
||||
|
||||
- name: Upload compatibility artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: caddy-pr1-compatibility-artifacts
|
||||
name: caddy-compatibility-artifacts
|
||||
path: |
|
||||
test-results/caddy-compat/**
|
||||
docs/reports/caddy-pr1-compatibility-matrix.md
|
||||
docs/reports/caddy-compatibility-matrix.md
|
||||
retention-days: 14
|
||||
Vendored
+1
-1
@@ -727,7 +727,7 @@
|
||||
{
|
||||
"label": "Security: Caddy PR-1 Compatibility Matrix",
|
||||
"type": "shell",
|
||||
"command": "cd /projects/Charon && bash scripts/caddy-compat-matrix.sh --candidate-version 2.11.1 --patch-scenarios A,B,C --platforms linux/amd64,linux/arm64 --smoke-set boot_caddy,plugin_modules,config_validate,admin_api_health --output-dir test-results/caddy-compat --docs-report docs/reports/caddy-pr1-compatibility-matrix.md",
|
||||
"command": "cd /projects/Charon && bash scripts/caddy-compat-matrix.sh --candidate-version 2.11.1 --patch-scenarios A,B,C --platforms linux/amd64,linux/arm64 --smoke-set boot_caddy,plugin_modules,config_validate,admin_api_health --output-dir test-results/caddy-compat --docs-report docs/reports/caddy-compatibility-matrix.md",
|
||||
"group": "test",
|
||||
"problemMatcher": []
|
||||
},
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
## Test Cases
|
||||
|
||||
### TC-PR1-001 — Compatibility Matrix Completes
|
||||
### TC-001 — Compatibility Matrix Completes
|
||||
|
||||
- Area: Compatibility matrix
|
||||
- Risk: False PASS due to partial artifacts or mixed output paths
|
||||
@@ -39,7 +39,7 @@
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR1-002 — Promotion Gate Enforces Scenario A Only
|
||||
### TC-002 — Promotion Gate Enforces Scenario A Only
|
||||
|
||||
- Area: Release guard
|
||||
- Risk: Incorrect gate logic blocks or allows promotion unexpectedly
|
||||
@@ -52,7 +52,7 @@
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR1-003 — Candidate Build Path Is Opt-In
|
||||
### TC-003 — Candidate Build Path Is Opt-In
|
||||
|
||||
- Area: Candidate build path
|
||||
- Risk: Candidate path becomes active without explicit opt-in
|
||||
@@ -66,7 +66,7 @@
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR1-004 — Default Runtime Behavior Does Not Drift
|
||||
### TC-004 — Default Runtime Behavior Does Not Drift
|
||||
|
||||
- Area: Non-drift defaults
|
||||
- Risk: Silent default drift after PR-1 merge
|
||||
|
||||
@@ -9,7 +9,7 @@ readonly DEFAULT_PLUGIN_SET="caddy-security,coraza-caddy,caddy-crowdsec-bouncer,
|
||||
readonly DEFAULT_SMOKE_SET="boot_caddy,plugin_modules,config_validate,admin_api_health"
|
||||
|
||||
OUTPUT_DIR="test-results/caddy-compat"
|
||||
DOCS_REPORT="docs/reports/caddy-pr1-compatibility-matrix.md"
|
||||
DOCS_REPORT="docs/reports/caddy-compatibility-matrix.md"
|
||||
CANDIDATE_VERSION="$DEFAULT_CANDIDATE_VERSION"
|
||||
PATCH_SCENARIOS="$DEFAULT_PATCH_SCENARIOS"
|
||||
PLATFORMS="$DEFAULT_PLATFORMS"
|
||||
@@ -32,7 +32,7 @@ Usage: scripts/caddy-compat-matrix.sh [options]
|
||||
|
||||
Options:
|
||||
--output-dir <path> Output directory (default: test-results/caddy-compat)
|
||||
--docs-report <path> Markdown report path (default: docs/reports/caddy-pr1-compatibility-matrix.md)
|
||||
--docs-report <path> Markdown report path (default: docs/reports/caddy-compatibility-matrix.md)
|
||||
--candidate-version <ver> Candidate Caddy version (default: 2.11.1)
|
||||
--patch-scenarios <csv> Patch scenarios CSV (default: A,B,C)
|
||||
--platforms <csv> Platforms CSV (default: linux/amd64,linux/arm64)
|
||||
|
||||
Reference in New Issue
Block a user