Repository navigation
fix(ci): make the dogfood gate .deed-aware #94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
a2bb73a
8be4f9c
c02229b
9ca8338
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,41 +14,41 @@ permissions: | |
| contents: read | ||
| jobs: | ||
| # --------------------------------------------------------------------------- | ||
| # Job 1: A2ML manifest validation | ||
| # Job 1: AI manifest validation (.deed, plus legacy .a2ml) | ||
| # --------------------------------------------------------------------------- | ||
| a2ml-validate: | ||
| name: Validate A2ML manifests | ||
| name: Validate AI manifests (.deed + legacy .a2ml) | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 15 | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
| - name: Check for A2ML files | ||
| - name: Check for manifest files (.deed + legacy .a2ml) | ||
| id: detect | ||
| run: | | ||
| COUNT=$(find . -name '*.a2ml' -not -path './.git/*' | wc -l) | ||
| COUNT=$(find . -type f \( -name '*.a2ml' -o -name '*.deed' \) -not -path './.git/*' | wc -l) | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| echo "count=$COUNT" >> "$GITHUB_OUTPUT" | ||
| if [ "$COUNT" -eq 0 ]; then | ||
| echo "::warning::No .a2ml manifest files found. Every RSR repo should have 0-AI-MANIFEST.a2ml" | ||
| echo "::warning::No .deed manifest files found. Every RSR repo should have 0-AI-MANIFEST.deed (.a2ml is legacy and no longer authored)" | ||
| fi | ||
| - name: Validate A2ML manifests | ||
| - name: Validate manifests (.deed + legacy .a2ml) | ||
| if: steps.detect.outputs.count > 0 | ||
| run: bash .githooks/validate-a2ml.sh | ||
| - name: Write summary | ||
| run: | | ||
| A2ML_COUNT="${{ steps.detect.outputs.count }}" | ||
| if [ "$A2ML_COUNT" -eq 0 ]; then | ||
| cat <<'EOF' >> "$GITHUB_STEP_SUMMARY" | ||
| ## A2ML Validation | ||
| ## Manifest Validation (.deed + legacy .a2ml) | ||
|
|
||
| :warning: **No .a2ml files found.** Every RSR-compliant repo should have at least `0-AI-MANIFEST.a2ml`. | ||
| :warning: **No manifest found.** Every RSR-compliant repo should have at least `0-AI-MANIFEST.deed`. (`.a2ml` still validates as legacy but is no longer authored.) | ||
|
|
||
| Create one with: `a2mliser init` or copy from [rsr-template-repo](https://github.com/hyperpolymath/rsr-template-repo). | ||
| Copy one from [rsr-template-repo](https://github.com/hyperpolymath/rsr-template-repo). | ||
| EOF | ||
| else | ||
| echo "## A2ML Validation" >> "$GITHUB_STEP_SUMMARY" | ||
| echo "## Manifest Validation (.deed + legacy .a2ml)" >> "$GITHUB_STEP_SUMMARY" | ||
| echo "" >> "$GITHUB_STEP_SUMMARY" | ||
| echo "Scanned **${A2ML_COUNT}** .a2ml file(s). See step output for details." >> "$GITHUB_STEP_SUMMARY" | ||
| echo "Scanned **${A2ML_COUNT}** manifest file(s) (.deed, or legacy .a2ml). See step output for details." >> "$GITHUB_STEP_SUMMARY" | ||
|
Comment on lines
+32
to
+51
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win Align manifest guidance with the Mustfile contract. The workflow tells maintainers to create Keep the existing either-extension checks because the workflow and 🤖 Prompt for AI Agents |
||
| fi | ||
| # --------------------------------------------------------------------------- | ||
| # Job 2: K9 contract validation | ||
|
|
@@ -226,7 +226,7 @@ jobs: | |
| MAX=5 | ||
|
|
||
| # A2ML manifest present? | ||
| if find . -name '*.a2ml' -not -path './.git/*' | head -1 | grep -q .; then | ||
| if find . -type f \( -name '*.a2ml' -o -name '*.deed' \) -not -path './.git/*' | head -1 | grep -q .; then | ||
| SCORE=$((SCORE + 1)) | ||
| A2ML_STATUS=":white_check_mark:" | ||
| else | ||
|
|
@@ -272,7 +272,7 @@ jobs: | |
|
|
||
| | Tool/Format | Status | Notes | | ||
| |-------------|--------|-------| | ||
| | A2ML manifest (0-AI-MANIFEST.a2ml) | ${A2ML_STATUS} | Required for all RSR repos | | ||
| | AI manifest (0-AI-MANIFEST.deed, or legacy .a2ml) | ${A2ML_STATUS} | Required for all RSR repos | | ||
| | K9 contracts | ${K9_STATUS} | Required for repos with config files | | ||
| | .editorconfig | ${EC_STATUS} | Required for all repos | | ||
| | Groove endpoint | ${GROOVE_STATUS} | Required for service repos | | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.