Skip to content

Conversation

@konard
Copy link
Member

@konard konard commented Sep 10, 2025

Summary

Resolves #43 by splitting multi-command workflow steps in .github/workflows/csharp.yml into separate, focused steps for better debugging, readability, and maintainability.

Changes Made

GitHub Package Registry Publishing (pushNuGetPackageToGitHubPackageRegistry job)

  • Split single step with 4 commands into 4 distinct steps:
    1. Build project (dotnet build -c Release)
    2. Pack project (dotnet pack -c Release)
    3. Add GitHub NuGet source
    4. Push NuGet package to GitHub Package Registry

NuGet Publishing (pusnToNuget job)

  • Split project information reading step into 3 steps:
    1. Set repository name
    2. Download project information script
    3. Read project information
  • Split NuGet package publishing step into 3 steps:
    1. Set repository name for publishing
    2. Download NuGet publishing script
    3. Publish NuGet package

Release Publishing (publiseRelease job)

  • Split project information reading step into 3 steps (with conditional logic preserved)
  • Split release publishing step into 5 steps:
    1. Set repository name for release publishing
    2. Download release script
    3. Make release script executable
    4. Download C# release script
    5. Publish release

PDF Generation (generatePdfWithCode job)

  • Split into 5 steps:
    1. Set repository name for PDF generation
    2. Download Python formatting script
    3. Download document formatting script
    4. Download PDF generation script
    5. Generate PDF with code

Documentation Publishing (publishDocumentation job)

  • Split into 6 steps:
    1. Set repository name for documentation
    2. Download DocFX configuration
    3. Download filter configuration
    4. Download table of contents configuration
    5. Download documentation publishing script
    6. Publish documentation to gh-pages branch

Benefits

  • Improved Debugging: Individual step failures can be identified more easily
  • Enhanced Readability: Each step has a clear, single purpose
  • Better Logging: Separate logs for each operation
  • Easier Maintenance: Individual steps can be modified independently
  • Workflow Clarity: Better understanding of the CI/CD pipeline flow

Testing

  • Validated YAML syntax is correct
  • Verified proper indentation and structure
  • All existing functionality preserved with improved granularity

🤖 Generated with Claude Code

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #43
@konard konard self-assigned this Sep 10, 2025
konard and others added 2 commits September 10, 2025 18:40
- Split GitHub Package Registry publishing into 4 distinct steps: build, pack, add source, push
- Split project information reading into 3 steps: set repository name, download script, execute script
- Split NuGet package publishing into 3 steps: set repository name, download script, execute script
- Split release publishing into 5 steps: set repository name, download scripts, make executable, execute
- Split PDF generation into 5 steps: set repository name, download required scripts, execute
- Split documentation publishing into 6 steps: set repository name, download configurations and script, execute

This improves workflow debugging, readability, and maintainability by making each step have a single clear purpose.

Resolves #43

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] Split these commands into separate steps Split multi-command workflow steps into separate steps Sep 10, 2025
@konard konard marked this pull request as ready for review September 10, 2025 15:44
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.

Split these commands into separate steps

2 participants