All checks were successful
Deploy Skill to OCI / deploy (push) Successful in 25s
Diagram generator (oci_diagram_gen.py): - Icon sizing calibrated: 63px target height, 45px min width (from 37 Oracle Architecture Center .drawio files: 12,617 cells, 234x 63x63 service icons) - Auto-sizing: containers grow from content, never overflow (validated by script) - DRG placed outside VCN, inside region (Oracle hub-spoke pattern) - Gateway stacking uses _calc_service_block_h to prevent label overlap - Edge labels: mxGeometry offset injection (15-20px away from midpoint) - Tight icon groups: edges connect to visible icon, not invisible wide group - VCN/subnet dash pattern corrected to "4 2", stroke to #aa643b (Oracle ref) - jettySize=auto, dual connection merge, container=1;collapsible=0 New tools: - scripts/validate-diagram.py: checks icon sizes, overlaps, container overflow - tools/refresh_arch_catalog.py --check-links: HTTP HEAD check on all 123 URLs - .gitea/workflows/kb-health.yaml: weekly link + freshness check (Mon 8am UTC) - kb/diagram/oracle-ref-measurements.md: exact measurements from Oracle refs - kb/CHANGELOG.md: KB change log shown in welcome banner SKILL.md: - Pre-flight: python→python3, silent errors, git fetch check for local users - Changelog banner in welcome flow - Anti-hallucination guardrails (from earlier commit, carried forward) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
# Weekly KB health check — validates catalog links and reports broken URLs.
|
|
# Runs Monday 8am UTC. Does NOT block deployments or affect user experience.
|
|
# If broken links found, creates a Gitea issue for manual review.
|
|
name: KB Health Check
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 8 * * 1'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check-links:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install dependencies
|
|
run: pip install requests beautifulsoup4 pyyaml
|
|
|
|
- name: Check Architecture Center links
|
|
id: check
|
|
continue-on-error: true
|
|
run: |
|
|
python tools/refresh_arch_catalog.py --check-links 2>&1 | tee /tmp/link-check.txt
|
|
echo "exit_code=$?" >> $GITHUB_OUTPUT
|
|
|
|
- name: Check SKU catalog freshness
|
|
id: sku
|
|
continue-on-error: true
|
|
run: |
|
|
python tools/refresh_sku_catalog.py --validate 2>&1 | tee -a /tmp/link-check.txt
|
|
|
|
- name: Create issue if problems found
|
|
if: steps.check.outcome == 'failure'
|
|
run: |
|
|
BROKEN=$(grep -c "❌" /tmp/link-check.txt || echo "0")
|
|
REDIRECTED=$(grep -c "↪️" /tmp/link-check.txt || echo "0")
|
|
BODY=$(cat <<'ISSUE_EOF'
|
|
## KB Health Check — Broken Links Found
|
|
|
|
**Run date:** $(date -u +%Y-%m-%d)
|
|
**Broken:** $BROKEN URLs
|
|
**Redirected:** $REDIRECTED URLs
|
|
|
|
<details>
|
|
<summary>Full report</summary>
|
|
|
|
```
|
|
$(cat /tmp/link-check.txt)
|
|
```
|
|
</details>
|
|
|
|
### Action needed
|
|
- For 404s: remove entry or find new URL via `python tools/refresh_arch_catalog.py --whats-new`
|
|
- For redirects: update URL in `kb/architecture-center/catalog.yaml`
|
|
ISSUE_EOF
|
|
)
|
|
# Note: Gitea issue creation requires gitea CLI or API call
|
|
# For now, save report as artifact
|
|
echo "$BODY" > /tmp/kb-health-report.md
|
|
echo "::warning::$BROKEN broken links found in KB catalog"
|
|
|
|
- name: Upload report
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: kb-health-report
|
|
path: /tmp/link-check.txt
|
|
retention-days: 30
|