Skip to content

Additional CI/CD workflow fixes (Issues #20, #28, #30)#31

Merged
trsdn merged 3 commits into
mainfrom
ci-cd-maintenance
Sep 17, 2025
Merged

Additional CI/CD workflow fixes (Issues #20, #28, #30)#31
trsdn merged 3 commits into
mainfrom
ci-cd-maintenance

Conversation

@trsdn
Copy link
Copy Markdown
Owner

@trsdn trsdn commented Sep 17, 2025

Summary

This PR contains additional critical fixes for CI/CD workflows that resolve multiple issues with workflow validation and functionality.

Issues Fixed

Key Changes

1. PR Summary Workflow JSON Parsing Fix (Issue #20)

  • Problem: JSON output variables causing "Invalid format" errors
  • Solution: Use file-based approach instead of output variables
  • Files: .github/workflows/pr-summary.yml
  • Impact: Eliminates workflow failures due to JSON parsing issues

2. Status Dashboard Timestamp Fix (Issue #28)

  • Problem: Timestamp showing $( date -u '+%Y-%m-%d %H:%M UTC' ) instead of actual time
  • Solution: Generate timestamp in shell variable before heredoc
  • Files: .github/workflows/status-dashboard.yml
  • Impact: Proper timestamp display in status dashboard

3. PR Feedback YAML Syntax Fix (Issue #30)

  • Problem: Invalid YAML syntax on line 200 in multiline Python script
  • Solution: Fix quoting in python -c command and rename workflow
  • Files: .github/workflows/pr-feedback.yml
  • Impact: Workflow validation passes, PR feedback works correctly

Technical Details

PR Summary Workflow

  • Replaced complex JSON in output variables with file-based storage
  • Added comprehensive error handling with continue-on-error flags
  • Improved Python error handling with proper exception catching
  • Added fallback mechanisms for missing data

Status Dashboard

  • Changed heredoc from single quotes to double quotes for variable expansion
  • Added proper shell variable generation for timestamps
  • Fixed GitHub Actions variable escaping in URLs

PR Feedback Workflow

  • Fixed YAML syntax by changing python script quoting
  • Renamed workflow from "PR Feedback & Issue Reporting" to "PR Feedback"
  • Changed internal Python strings from single to double quotes

Validation

  • All workflow files now pass GitHub Actions syntax validation
  • Fixes tested in development environment
  • Error handling improved throughout

Test Plan

  • Workflow files pass GitHub Actions validation
  • PR summary workflow handles JSON data correctly
  • Status dashboard shows proper timestamps
  • PR feedback workflow executes without YAML errors
  • Verify workflows run successfully in production

Breaking Changes

None - all changes are backward compatible improvements.

Additional Context

These fixes address critical workflow validation failures that were preventing proper CI/CD operation. All changes follow established patterns and maintain existing functionality while fixing syntax and parsing issues.

- Replace complex JSON output variable with file-based approach
- Add comprehensive error handling with continue-on-error flags
- Improve JSON validation and Python error handling
- Add fallback mechanisms for missing data
- Fix GitHub Actions output format issues that caused "Invalid format" errors

Key fixes:
- Save check runs JSON to file instead of passing through output variables
- Add stderr redirection and null checks for all API calls
- Implement graceful degradation when data is unavailable
- Ensure all outputs have valid fallback values

Resolves: #20
- Replace single-quoted heredoc with double-quoted to allow variable expansion
- Generate timestamp in shell variable before using in heredoc
- Fix both JSON status data and HTML dashboard timestamp
- Add proper escaping for GitHub Actions variables

Changes:
- status.json now shows actual timestamp instead of shell command
- HTML dashboard displays proper "Last updated" time
- Fixed variable expansion in badges generation

Before: Last updated: $( date -u '+%Y-%m-%d %H:%M UTC' )
After:  Last updated: 2025-09-17 18:30 UTC

Resolves: #28
- Fix YAML syntax error on line 200 in multiline Python script
- Change python -c from double quotes to single quotes
- Update internal Python quotes to avoid YAML conflicts
- Rename workflow from "PR Feedback & Issue Reporting" to "PR Feedback"

Technical changes:
- Multiline Python script now uses proper YAML-safe quoting
- All internal strings use double quotes to avoid conflicts
- Workflow name simplified for better GitHub Actions display

Before: python -c "...with single quotes inside..."
After:  python -c '...with double quotes inside...'

Resolves: #30
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Sep 17, 2025

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions
Copy link
Copy Markdown
Contributor

🔍 PR Quality Summary

CI Status

⚪ Tests: pending
⚪ Docs: pending
✅ Security: success
⚪ Quality: pending

Metrics

Metric Value Trend
📊 Coverage N/A -
🧪 Tests Test results pending -
⏱️ Performance No performance data -

Quality Checks

  • Format & Lint: Ruff formatting and linting
  • Type Safety: MyPy strict type checking
  • Security: Bandit, Safety, GitLeaks scanning
  • MCP Protocol: Tool schema validation
  • Documentation: Docstring coverage (80%+)

MCP Tools

  • convert_file - Convert individual files to Markdown
  • convert_directory - Batch convert directories
  • list_supported_formats - Query supported file types

🤖 Auto-generated by CI • Last updated: 2025-09-17 19:44 UTC

@github-actions
Copy link
Copy Markdown
Contributor

🔍 CI Quality Gates Summary

Overall Status: ✅ All Passed

Check Status Details Action Required
🎨 Format ✅ Passed ruff format check None
🔧 Lint ✅ Passed ruff linting None
📝 Types ✅ Passed mypy type checking None
🧪 Tests ✅ Passed Unit tests None
📊 Coverage 80.5% Minimum: 80% None
🔌 MCP ✅ Valid Protocol compliance None
🔒 Security ✅ Clean Dependency audit None

🔗 Quick Links

🛠️ Quick Fix Commands

# Fix most issues automatically
ruff format .
ruff check . --fix

# Run tests locally
pytest tests/unit/ --cov=markitdown_mcp

# Check types
mypy markitdown_mcp

Last updated: 2025-09-17 19:45:02 UTC

@trsdn trsdn merged commit 2d1c952 into main Sep 17, 2025
37 of 52 checks passed
@trsdn trsdn deleted the ci-cd-maintenance branch September 17, 2025 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant