Add Mermaid workflow diagram generation and GitHub integration testing#68
Closed
johnrwatson wants to merge 17 commits into
Closed
Add Mermaid workflow diagram generation and GitHub integration testing#68johnrwatson wants to merge 17 commits into
johnrwatson wants to merge 17 commits into
Conversation
…testing - Add new mermaid/workflow-diagram model for generating visual workflow diagrams - Create comprehensive GitHub workflow for integration testing - Test artifact passing, dependencies, and cross-model references - Generate Mermaid diagrams from workflow execution data with color-coded status - Upload workflow artifacts and diagrams to GitHub Actions - Validate shell command dependencies, expression evaluation, and error handling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
The existing CI workflow already handles linting and formatting checks. The integration test workflow should focus on end-to-end functionality testing. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Escape swamp expressions to prevent GitHub Actions parser conflicts
- Add descriptive job name for better workflow visibility
- Fix ${{ self.name }} and ${{ model.* }} expression syntax in YAML
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix ZodDefault type error by providing proper default values - Simplify workflow job name to 'Integration Test' - Ensure deno check passes without errors 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
The swamp repo init command does not accept a --models-dir option. Models directory is configured via .swamp.yaml or defaults to extensions/models. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace unreliable grep with jq for JSON parsing - Fix YAML indentation and structure for model files - Remove optional resourceId field to avoid validation errors - Simplify swamp expression syntax in model attributes - Test locally confirmed model validation passes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Remove extra spaces in heredoc delimiters - Fix indentation in workflow YAML structure - Ensure proper YAML formatting throughout - Resolve GitHub Actions YAML validation errors 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Create comprehensive workflow validation for all .github/workflows files - Validate YAML syntax using yq - Check GitHub Actions workflow structure and required fields - Detect common workflow issues and security risks - Validate trigger configurations and events - Generate detailed validation summary - Triggers on workflow file changes to catch issues early 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace problematic heredoc syntax with printf statements - Use quoted heredoc for workflow creation with sed replacement - Properly escape quotes and special characters in printf - Ensure GitHub Actions YAML parser compatibility - Resolve line 57 syntax error and similar issues 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace problematic heredoc workflow creation with printf approach to avoid YAML parsing conflicts in GitHub Actions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace double quotes with single quotes to prevent GitHub Actions expression parsing conflicts in grep commands 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace problematic heredoc sections with printf approaches
- Fix GitHub Actions expression parsing conflicts by using variables
- Escape swamp expressions (${{ self.* }} and ${{ model.* }}) properly
- Both workflows now pass actionlint validation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The workflow validation was failing because dependsOn conditions require both type and ref fields for proper job dependency resolution 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Use model.<name>.input.attributes.<property> instead of model.<name>.data.attributes.<property> as required by swamp expression validation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Swamp returns success when executing models even if the model's shell command fails. The failure is captured in the model's exitCode attribute. Updated test to check model.data.attributes.exitCode instead of expecting the swamp command itself to fail. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Add test-repo/ to .gitignore to prevent local integration test repositories from being committed 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Changed from 'Integration Test' to 'System Test' to better reflect that this workflow performs comprehensive end-to-end system testing of the swamp CLI, beyond what's covered by unit tests in CI 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
What's Added
Test Coverage
${{ self.name }}${{ model.other-model.* }}Test Plan
The new integration test workflow will:
🤖 Generated with Claude Code