From ff9518decf834e026edfebf9af9b98bdb9bda863 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:40:24 +0300 Subject: [PATCH 1/3] Initial commit with task details for issue #43 Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: https://github.com/linksplatform/Interfaces/issues/43 --- CLAUDE.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..0405036 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,5 @@ +Issue to solve: https://github.com/linksplatform/Interfaces/issues/43 +Your prepared branch: issue-43-773ee22d +Your prepared working directory: /tmp/gh-issue-solver-1757518819980 + +Proceed. \ No newline at end of file From 4519a0f31d5cd1e202f45e14e24616eceb644ddf Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:40:40 +0300 Subject: [PATCH 2/3] Remove CLAUDE.md - PR created successfully --- CLAUDE.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 0405036..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,5 +0,0 @@ -Issue to solve: https://github.com/linksplatform/Interfaces/issues/43 -Your prepared branch: issue-43-773ee22d -Your prepared working directory: /tmp/gh-issue-solver-1757518819980 - -Proceed. \ No newline at end of file From c85340a320e2cfe4e4a557edeaddfe691f772829 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:44:24 +0300 Subject: [PATCH 3/3] Split multi-command workflow steps into separate steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .github/workflows/csharp.yml | 91 +++++++++++++++++++++--------------- 1 file changed, 54 insertions(+), 37 deletions(-) diff --git a/.github/workflows/csharp.yml b/.github/workflows/csharp.yml index 6ceac78..f8816c1 100644 --- a/.github/workflows/csharp.yml +++ b/.github/workflows/csharp.yml @@ -42,12 +42,14 @@ jobs: - uses: actions/checkout@v1 with: submodules: true - - name: Publish NuGet package to GitHub Package Registry - run: | - dotnet build -c Release - dotnet pack -c Release - dotnet nuget add source https://nuget.pkg.github.com/linksplatform/index.json --name GitHub --username linksplatform --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text - dotnet nuget push **/*.nupkg --source GitHub --skip-duplicate + - name: Build project + run: dotnet build -c Release + - name: Pack project + run: dotnet pack -c Release + - name: Add GitHub NuGet source + run: dotnet nuget add source https://nuget.pkg.github.com/linksplatform/index.json --name GitHub --username linksplatform --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text + - name: Push NuGet package to GitHub Package Registry + run: dotnet nuget push **/*.nupkg --source GitHub --skip-duplicate pusnToNuget: runs-on: ubuntu-latest needs: test @@ -60,16 +62,18 @@ jobs: - uses: actions/checkout@v1 with: submodules: true + - name: Set repository name + run: export REPOSITORY_NAME=$(basename ${{ github.repository }}) + - name: Download project information script + run: wget "$SCRIPTS_BASE_URL/read_csharp_package_info.sh" - name: Read project information - run: | - export REPOSITORY_NAME=$(basename ${{ github.repository }}) - wget "$SCRIPTS_BASE_URL/read_csharp_package_info.sh" - bash ./read_csharp_package_info.sh + run: bash ./read_csharp_package_info.sh + - name: Set repository name for publishing + run: export REPOSITORY_NAME=$(basename ${{ github.repository }}) + - name: Download NuGet publishing script + run: wget "$SCRIPTS_BASE_URL/push-csharp-nuget.sh" - name: Publish NuGet package - run: | - export REPOSITORY_NAME=$(basename ${{ github.repository }}) - wget "$SCRIPTS_BASE_URL/push-csharp-nuget.sh" - bash ./push-csharp-nuget.sh + run: bash ./push-csharp-nuget.sh publiseRelease: runs-on: ubuntu-latest needs: test @@ -82,19 +86,25 @@ jobs: - uses: actions/checkout@v1 with: submodules: true + - name: Set repository name for release + if: ${{ github.event_name == 'push' }} + run: export REPOSITORY_NAME=$(basename ${{ github.repository }}) + - name: Download project information script for release + if: ${{ github.event_name == 'push' }} + run: wget "$SCRIPTS_BASE_URL/read_csharp_package_info.sh" - name: Read project information if: ${{ github.event_name == 'push' }} - run: | - export REPOSITORY_NAME=$(basename ${{ github.repository }}) - wget "$SCRIPTS_BASE_URL/read_csharp_package_info.sh" - bash ./read_csharp_package_info.sh + run: bash ./read_csharp_package_info.sh + - name: Set repository name for release publishing + run: export REPOSITORY_NAME=$(basename ${{ github.repository }}) + - name: Download release script + run: wget "$SCRIPTS_BASE_URL/publish-release.sh" + - name: Make release script executable + run: chmod +x ./publish-release.sh + - name: Download C# release script + run: wget "$SCRIPTS_BASE_URL/publish-csharp-release.sh" - name: Publish release - run: | - export REPOSITORY_NAME=$(basename ${{ github.repository }}) - wget "$SCRIPTS_BASE_URL/publish-release.sh" - chmod +x ./publish-release.sh - wget "$SCRIPTS_BASE_URL/publish-csharp-release.sh" - bash ./publish-csharp-release.sh + run: bash ./publish-csharp-release.sh findChangedCsFiles: runs-on: ubuntu-latest needs: test @@ -139,13 +149,16 @@ jobs: - uses: actions/checkout@v1 with: submodules: true + - name: Set repository name for PDF generation + run: export REPOSITORY_NAME=$(basename ${{ github.repository }}) + - name: Download Python formatting script + run: wget "$SCRIPTS_BASE_URL/format-csharp-files.py" + - name: Download document formatting script + run: wget "$SCRIPTS_BASE_URL/format-csharp-document.sh" + - name: Download PDF generation script + run: wget "$SCRIPTS_BASE_URL/generate-csharp-pdf.sh" - name: Generate PDF with code - run: | - export REPOSITORY_NAME=$(basename ${{ github.repository }}) - wget "$SCRIPTS_BASE_URL/format-csharp-files.py" - wget "$SCRIPTS_BASE_URL/format-csharp-document.sh" - wget "$SCRIPTS_BASE_URL/generate-csharp-pdf.sh" - bash ./generate-csharp-pdf.sh + run: bash ./generate-csharp-pdf.sh publishDocumentation: runs-on: ubuntu-latest needs: [findChangedCsFiles] @@ -159,11 +172,15 @@ jobs: - uses: actions/checkout@v1 with: submodules: true + - name: Set repository name for documentation + run: export REPOSITORY_NAME=$(basename ${{ github.repository }}) + - name: Download DocFX configuration + run: wget "$SCRIPTS_BASE_URL/docfx.json" + - name: Download filter configuration + run: wget "$SCRIPTS_BASE_URL/filter.yml" + - name: Download table of contents configuration + run: wget "$SCRIPTS_BASE_URL/toc.yml" + - name: Download documentation publishing script + run: wget "$SCRIPTS_BASE_URL/publish-csharp-docs.sh" - name: Publish documentation to gh-pages branch - run: | - export REPOSITORY_NAME=$(basename ${{ github.repository }}) - wget "$SCRIPTS_BASE_URL/docfx.json" - wget "$SCRIPTS_BASE_URL/filter.yml" - wget "$SCRIPTS_BASE_URL/toc.yml" - wget "$SCRIPTS_BASE_URL/publish-csharp-docs.sh" - bash ./publish-csharp-docs.sh + run: bash ./publish-csharp-docs.sh