Skip to content

fix(ci): update test.yml workflow to match actual project structure#70

Merged
oalanicolas merged 1 commit intomainfrom
fix/ci-test-workflow
Feb 2, 2026
Merged

fix(ci): update test.yml workflow to match actual project structure#70
oalanicolas merged 1 commit intomainfrom
fix/ci-test-workflow

Conversation

@oalanicolas
Copy link
Collaborator

@oalanicolas oalanicolas commented Feb 2, 2026

Summary

  • Remove references to non-existent packages (memory, security, performance, telemetry)
  • Remove build:packages script reference (doesn't exist)
  • Update build-test to test actual workspace and installer packages
  • Update integration-test to test CLI and core modules
  • Update performance-test with practical performance checks

Test plan

  • CI passes on this PR
  • Merge to main and verify Test workflow passes

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Tests

    • Simplified and refocused test suite to validate core modules and CLI entry points.
  • Chores

    • Restructured CI/CD workflow with streamlined validation checks and performance metrics.

✏️ Tip: You can customize this high-level summary in your review settings.

- Remove references to non-existent packages (memory, security, performance, telemetry)
- Remove build:packages script reference (doesn't exist)
- Update build-test to test actual workspace and installer packages
- Update integration-test to test CLI and core modules
- Update performance-test with practical performance checks

Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
@github-actions github-actions bot added type: docs Documentation improvements core area: agents Agent system related area: workflows Workflow system related squad squad: etl squad: creator mcp docker-mcp type: test Test coverage and quality labels Feb 2, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 2, 2026

Walkthrough

The test workflow has been restructured to eliminate matrix-based per-package testing, instead focusing on validating the core workspace package, CLI entry points, and performance metrics with simplified file existence checks and conditional skipping of optional components.

Changes

Cohort / File(s) Summary
Test Workflow Restructuring
.github/workflows/test.yml
Removed matrix strategy and per-package looping; consolidated testing to focus on core workspace validation, CLI entry point checks (bin/aios-init.js, bin/aios.js), installer package detection, core module file validation, and basic performance metrics with conditional skip/continue logic for optional components.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

ci/cd, tests, installer, core

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: updating the test.yml workflow to align with the actual project structure by removing references to non-existent packages and restructuring test logic.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/ci-test-workflow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

📊 Coverage Report

Coverage report not available

📈 Full coverage report available in Codecov


Generated by PR Automation (Story 6.1)

@oalanicolas oalanicolas merged commit 098dbef into main Feb 2, 2026
19 of 21 checks passed
@oalanicolas oalanicolas deleted the fix/ci-test-workflow branch February 2, 2026 01:54
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @.github/workflows/test.yml:
- Around line 192-196: The find commands for AGENT_COUNT and TASK_COUNT can fail
if the directories don't exist; update the script around AGENT_COUNT and
TASK_COUNT to check for directory existence (e.g., test -d
".aios-core/development/agents" and ".aios-core/development/tasks") before
running find, and set the counts to 0 when the directories are absent so the
echo lines still run reliably; modify the logic where AGENT_COUNT and TASK_COUNT
are computed to use these existence guards.
🧹 Nitpick comments (3)
.github/workflows/test.yml (3)

94-104: Consider validating installer package.json content for consistency.

The workspace package validation (lines 85-88) actually parses and validates package.json, but the installer package test only checks for file existence without validating its content. For consistency, consider adding similar validation:

          if [ -f "package.json" ]; then
            echo "✅ Installer package.json exists"
+           node -e "
+             const pkg = require('./package.json');
+             console.log('✅ Installer package validation passed:', pkg.name);
+           "
          fi

Also, if the directory exists but package.json is missing, the step silently succeeds. If this is intentional for optional components, it's fine, but you may want to add a warning message for that case.


122-149: CLI integration test validates existence but not functionality.

The test confirms the CLI entry points exist but doesn't verify they are syntactically valid or can be required without errors. Consider adding a basic syntax check:

              if (fs.existsSync('./bin/aios.js')) {
                console.log('✅ aios.js exists');
+               // Basic syntax validation
+               require('./bin/aios.js');
+               console.log('✅ aios.js is syntactically valid');
              } else {

If requiring the modules has side effects that make this impractical, the current approach is acceptable.


199-207: Error suppression may hide manifest generation failures.

Redirecting stderr to /dev/null (line 200) silently ignores errors from the manifest generation script. If the script fails, you'll get a timing measurement but no indication of failure.

Consider capturing the exit code:

          START_TIME=$(date +%s%N)
-         node scripts/generate-install-manifest.js > /dev/null 2>&1
+         if ! node scripts/generate-install-manifest.js > /dev/null 2>&1; then
+           echo "⚠️ Manifest generation script failed"
+         fi
          END_TIME=$(date +%s%N)

Alternatively, if failures are acceptable for this performance check, add a comment explaining that intent.

Comment on lines +192 to +196
AGENT_COUNT=$(find .aios-core/development/agents -name "*.md" | wc -l)
echo "✅ Agent definitions: $AGENT_COUNT"

TASK_COUNT=$(find .aios-core/development/tasks -name "*.md" | wc -l)
echo "✅ Task definitions: $TASK_COUNT"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add existence checks before find commands to prevent unexpected failures.

The find commands will fail if the directories don't exist, potentially failing the entire performance-test job. Consider adding guards:

-         AGENT_COUNT=$(find .aios-core/development/agents -name "*.md" | wc -l)
-         echo "✅ Agent definitions: $AGENT_COUNT"
+         if [ -d ".aios-core/development/agents" ]; then
+           AGENT_COUNT=$(find .aios-core/development/agents -name "*.md" | wc -l)
+           echo "✅ Agent definitions: $AGENT_COUNT"
+         else
+           echo "ℹ️ Agent definitions directory not found"
+         fi

Apply similarly to the task definitions check on line 195-196.

🤖 Prompt for AI Agents
In @.github/workflows/test.yml around lines 192 - 196, The find commands for
AGENT_COUNT and TASK_COUNT can fail if the directories don't exist; update the
script around AGENT_COUNT and TASK_COUNT to check for directory existence (e.g.,
test -d ".aios-core/development/agents" and ".aios-core/development/tasks")
before running find, and set the counts to 0 when the directories are absent so
the echo lines still run reliably; modify the logic where AGENT_COUNT and
TASK_COUNT are computed to use these existence guards.

@github-actions
Copy link
Contributor

🎉 This PR is included in version 4.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: agents Agent system related area: workflows Workflow system related docker-mcp mcp released squad: creator squad: etl squad type: docs Documentation improvements type: test Test coverage and quality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant