From 79f1ed6f1d870168d72a6153400649478c648360 Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 11:20:52 +0300 Subject: [PATCH 1/9] chore(deps): bump package versions --- Directory.Packages.props | 39 ++++++++++--------- .../Domain/IR/ObjectTypeTests.cs | 14 +++---- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 8d372a20..b195c398 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,21 +3,24 @@ true true false + 10.0.11 + 5.6.0 + 5.0.0-rc.1 - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - + + + + + + + @@ -25,18 +28,18 @@ - - - - - - - - - + + + + + + + + + - + diff --git a/tests/HydraScript.UnitTests/Domain/IR/ObjectTypeTests.cs b/tests/HydraScript.UnitTests/Domain/IR/ObjectTypeTests.cs index 7af297e5..95febba1 100644 --- a/tests/HydraScript.UnitTests/Domain/IR/ObjectTypeTests.cs +++ b/tests/HydraScript.UnitTests/Domain/IR/ObjectTypeTests.cs @@ -8,32 +8,32 @@ public class ObjectTypeTests public void ObjectTypeEqualityTest() { var number = new Type("number"); - var p2d1 = new ObjectType(new Dictionary( + var point2Num1 = new ObjectType(new Dictionary( [ new("x", number), new("y", number) ])); - var p2d2 = new ObjectType(new Dictionary( + var point2Num2 = new ObjectType(new Dictionary( [ new("x", number), new("y", number) ])); - Assert.Equal(p2d1, p2d2); + Assert.Equal(point2Num1, point2Num2); - var p3d1 = new ObjectType(new Dictionary( + var point3Num1 = new ObjectType(new Dictionary( [ new("a", number), new("x", number), new("y", number) ])); - var p3d2 = new ObjectType(new Dictionary( + var point3Num2 = new ObjectType(new Dictionary( [ new("y", number), new("x", number), new("z", number) ])); - Assert.NotEqual(p3d1, p3d2); - Assert.NotEqual(p3d2, p2d1); + Assert.NotEqual(point3Num1, point3Num2); + Assert.NotEqual(point3Num2, point2Num1); } [Fact] From de6779eb4e48750d65096281afadb2e77a7d2c6a Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 11:24:50 +0300 Subject: [PATCH 2/9] chore(deps): bump gh actions versions --- .github/workflows/develop.yml | 10 +++++----- .github/workflows/release.yml | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index b9a6f31b..d27afc94 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -27,14 +27,14 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v5 with: - dotnet-version: 10.0.x + dotnet-version: 10.x - name: Setup GitVersion - uses: gittools/actions/gitversion/setup@v4.5.0 + uses: gittools/actions/gitversion/setup@v4 with: - versionSpec: '6.4.x' + versionSpec: '6.8.x' - name: Determine Version id: version_step - uses: gittools/actions/gitversion/execute@v4.5.0 + uses: gittools/actions/gitversion/execute@v4 - name: Push New Version Tag if: github.ref == 'refs/heads/master' && github.event_name == 'push' run: | @@ -74,7 +74,7 @@ jobs: show_branch: true only_changed_files: true - name: ReportGenerator - uses: danielpalme/ReportGenerator-GitHub-Action@5.5.10 + uses: danielpalme/ReportGenerator-GitHub-Action@5.5.11 with: reports: './tests/HydraScript.IntegrationTests/bin/Debug/net10.0/TestResults/coverage.cobertura.xml' targetdir: './coverage-report' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4be9b1ab..f5003222 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,11 +32,11 @@ jobs: echo "majorMinorPatch=$tag" >> $GITHUB_OUTPUT echo "publishVersion=${tag:1}" >> $GITHUB_OUTPUT - name: Setup GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v4.5.0 + uses: gittools/actions/gitreleasemanager/setup@v4 with: versionSpec: '0.20.x' - name: Create release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/create@v4.5.0 + uses: gittools/actions/gitreleasemanager/create@v4 with: token: ${{ secrets.GITHUB_TOKEN }} repository: 'Stepami/hydrascript' @@ -65,9 +65,9 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v5 with: - dotnet-version: 10.0.x + dotnet-version: 10.x - name: Setup GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v4.5.0 + uses: gittools/actions/gitreleasemanager/setup@v4 with: versionSpec: '0.20.x' - name: Publish @@ -80,7 +80,7 @@ jobs: mv ./output/HydraScript${{ matrix.config.rid == 'win-x64' && '.exe' || '' }} ./output/hydrascript_${{ matrix.config.rid }}${{ matrix.config.rid == 'win-x64' && '.exe' || '' }} - name: Add asset to a release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/addasset@v4.5.0 + uses: gittools/actions/gitreleasemanager/addasset@v4 with: token: ${{ secrets.GITHUB_TOKEN }} repository: 'Stepami/hydrascript' @@ -114,17 +114,17 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v5 - name: Setup GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v4.5.0 + uses: gittools/actions/gitreleasemanager/setup@v4 with: versionSpec: '0.20.x' - name: Publish release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/publish@v4.5.0 + uses: gittools/actions/gitreleasemanager/publish@v4 with: token: ${{ secrets.GITHUB_TOKEN }} repository: 'Stepami/hydrascript' milestone: ${{ needs.upload-release-assets.outputs.determined_version }} - name: Close release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/close@v4.5.0 + uses: gittools/actions/gitreleasemanager/close@v4 with: token: ${{ secrets.GITHUB_TOKEN }} repository: 'Stepami/hydrascript' @@ -140,7 +140,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v5 with: - dotnet-version: 10.0.x + dotnet-version: 10.x - name: Pack run: >- dotnet pack ./src/HydraScript/HydraScript.csproj -c Release -o ./pack-output -v n From ecfa2a6b5ba351eafa28006a4a746df5cae6adda Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 11:54:04 +0300 Subject: [PATCH 3/9] fix(actions): coverage pipeline --- .github/workflows/develop.yml | 18 +++++++----------- .gitignore | 2 +- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index d27afc94..62b22af3 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -62,21 +62,17 @@ jobs: mkdir coverage-report - name: Code Coverage Summary Report For Merge Request if: github.event_name == 'pull_request' - uses: 5monkeys/cobertura-action@master + uses: Affanmir/diff-cover-action@v2 with: - path: ./tests/HydraScript.IntegrationTests/bin/Debug/net10.0/TestResults/coverage.cobertura.xml - repo_token: ${{ secrets.GITHUB_TOKEN }} - minimum_coverage: 80 - fail_below_threshold: true - show_class_names: true - show_missing: true - link_missing_lines: true - show_branch: true - only_changed_files: true + coverage-files: ./TestResults/coverage.cobertura.xml + compare-branch: 'origin/master' + fail-under: 80 + title: 'HydraScript PR Coverage' + create-badge: 'true' - name: ReportGenerator uses: danielpalme/ReportGenerator-GitHub-Action@5.5.11 with: - reports: './tests/HydraScript.IntegrationTests/bin/Debug/net10.0/TestResults/coverage.cobertura.xml' + reports: './TestResults/coverage.cobertura.xml' targetdir: './coverage-report' - name: Upload coverage report artifact if: github.event_name == 'push' diff --git a/.gitignore b/.gitignore index 629f5fff..dca452d4 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ _UpgradeReport_Files [Pp]ackages -tests/**/coverage.cobertura.xml +**/coverage.cobertura.xml Thumbs.db Desktop.ini From 948310ee7bf35f7d9816890ba344de046f153225 Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 11:56:26 +0300 Subject: [PATCH 4/9] chore(deps): bump setup-dotnet action v5 -> v6 --- .github/workflows/develop.yml | 2 +- .github/workflows/release.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 62b22af3..6fdbdfdc 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -25,7 +25,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v6 with: dotnet-version: 10.x - name: Setup GitVersion diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5003222..fe93d384 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v6 - name: Determine Version id: version_step run: | @@ -63,7 +63,7 @@ jobs: - name: Checkout uses: actions/checkout@v6 - name: Setup .NET - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v6 with: dotnet-version: 10.x - name: Setup GitReleaseManager @@ -112,7 +112,7 @@ jobs: publish_version: ${{ needs.upload-release-assets.outputs.publish_version }} steps: - name: Setup .NET - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v6 - name: Setup GitReleaseManager uses: gittools/actions/gitreleasemanager/setup@v4 with: @@ -138,7 +138,7 @@ jobs: - name: Checkout uses: actions/checkout@v6 - name: Setup .NET - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v6 with: dotnet-version: 10.x - name: Pack From 7204027f847d207836c04a07a2fb53d6e930b0cf Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 12:00:29 +0300 Subject: [PATCH 5/9] fix(pipeline): diff cover action utf-8 --- .github/workflows/develop.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 6fdbdfdc..a6961f21 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -63,6 +63,8 @@ jobs: - name: Code Coverage Summary Report For Merge Request if: github.event_name == 'pull_request' uses: Affanmir/diff-cover-action@v2 + env: + PYTHONUTF8: "1" with: coverage-files: ./TestResults/coverage.cobertura.xml compare-branch: 'origin/master' From d8a85d6f1c57492a99c5c7984a91d4e5e37c11e6 Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 12:57:51 +0300 Subject: [PATCH 6/9] fix(cov): tmp dir diff-cover --- .github/workflows/develop.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index a6961f21..5739f503 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -60,6 +60,10 @@ jobs: --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml ` --coverage-settings tests/coverage-exclude.xml mkdir coverage-report + - name: Tmp Dir For diff-cover + if: github.event_name == 'pull_request' + run: New-Item -ItemType Directory -Force -Path "$env:SystemDrive\tmp" + shell: pwsh - name: Code Coverage Summary Report For Merge Request if: github.event_name == 'pull_request' uses: Affanmir/diff-cover-action@v2 From 68c6be9a0af34d5e2b878454b1baba59d51ac702 Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 13:23:49 +0300 Subject: [PATCH 7/9] fix: attempt new --- .github/workflows/develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 5739f503..fd1baa6f 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -62,7 +62,7 @@ jobs: mkdir coverage-report - name: Tmp Dir For diff-cover if: github.event_name == 'pull_request' - run: New-Item -ItemType Directory -Force -Path "$env:SystemDrive\tmp" + run: New-Item -ItemType Directory -Force -Path "$env:GITHUB_WORKSPACE\tmp" shell: pwsh - name: Code Coverage Summary Report For Merge Request if: github.event_name == 'pull_request' From 47cc988be1c1b892f769ecf486b96d842b25efaa Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 15:18:52 +0300 Subject: [PATCH 8/9] refactor(workflows) - develop decoupling --- .github/workflows/{develop.yml => master.yml} | 40 +++----------- .github/workflows/pr.yml | 55 +++++++++++++++++++ .github/workflows/push.yml | 33 +++++++++++ .github/workflows/release.yml | 3 +- ExtendedJavaScriptSubset.slnx | 4 +- 5 files changed, 99 insertions(+), 36 deletions(-) rename .github/workflows/{develop.yml => master.yml} (63%) create mode 100644 .github/workflows/pr.yml create mode 100644 .github/workflows/push.yml diff --git a/.github/workflows/develop.yml b/.github/workflows/master.yml similarity index 63% rename from .github/workflows/develop.yml rename to .github/workflows/master.yml index fd1baa6f..9d4dad45 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/master.yml @@ -1,23 +1,15 @@ -name: Develop Workflow +name: Master Push Workflow on: push: - branches-ignore: - - 'release' - pull_request: - branches-ignore: - - 'release' + branches: [master] permissions: - actions: write - checks: write contents: write - issues: write - pull-requests: write jobs: - build-and-test: - name: Build & Test + build-and-tag: + name: Build & Tag runs-on: windows-latest steps: - name: Checkout @@ -36,7 +28,6 @@ jobs: id: version_step uses: gittools/actions/gitversion/execute@v4 - name: Push New Version Tag - if: github.ref == 'refs/heads/master' && github.event_name == 'push' run: | $gv = 'v${{ steps.version_step.outputs.majorMinorPatch }}' #gitversion result $lt = $( git describe --tags --abbrev=0 ) # last tag version result @@ -60,34 +51,17 @@ jobs: --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml ` --coverage-settings tests/coverage-exclude.xml mkdir coverage-report - - name: Tmp Dir For diff-cover - if: github.event_name == 'pull_request' - run: New-Item -ItemType Directory -Force -Path "$env:GITHUB_WORKSPACE\tmp" - shell: pwsh - - name: Code Coverage Summary Report For Merge Request - if: github.event_name == 'pull_request' - uses: Affanmir/diff-cover-action@v2 - env: - PYTHONUTF8: "1" - with: - coverage-files: ./TestResults/coverage.cobertura.xml - compare-branch: 'origin/master' - fail-under: 80 - title: 'HydraScript PR Coverage' - create-badge: 'true' - name: ReportGenerator uses: danielpalme/ReportGenerator-GitHub-Action@5.5.11 with: - reports: './TestResults/coverage.cobertura.xml' - targetdir: './coverage-report' + reports: './TestResults/coverage.cobertura.xml' + targetdir: './coverage-report' - name: Upload coverage report artifact - if: github.event_name == 'push' uses: actions/upload-artifact@v7 with: - name: CoverageReport + name: CoverageReport path: coverage-report - name: Upload Windows Build - if: github.ref != 'refs/heads/master' && github.event_name == 'push' uses: actions/upload-artifact@v7 with: name: windows_build_${{ steps.version_step.outputs.fullSemVer }} diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 00000000..c4b77a62 --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,55 @@ +name: Pull Request Workflow + +on: + pull_request: + branches-ignore: [release] + +permissions: + checks: write + contents: read + pull-requests: write + +jobs: + build-and-cover: + name: Build & Coverage + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Setup .NET + uses: actions/setup-dotnet@v6 + with: + dotnet-version: 10.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore -c Debug -v n + - name: Unit Tests + run: dotnet test -c Debug --no-build -v n --filter-trait Category=Unit + - name: Integration Tests + run: | + dotnet test --project tests/HydraScript.IntegrationTests ` + -c Debug --no-build -v n ` + --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml ` + --coverage-settings tests/coverage-exclude.xml + mkdir coverage-report + - name: Code Coverage Summary Report For Merge Request + uses: Affanmir/diff-cover-action@v2 + with: + coverage-files: ./TestResults/coverage.cobertura.xml + compare-branch: 'origin/master' + fail-under: 80 + title: 'HydraScript PR Coverage' + create-badge: 'true' + - name: ReportGenerator + uses: danielpalme/ReportGenerator-GitHub-Action@5.5.11 + with: + reports: './TestResults/coverage.cobertura.xml' + targetdir: './coverage-report' + - name: Upload coverage report artifact + uses: actions/upload-artifact@v7 + with: + name: CoverageReport + path: coverage-report diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 00000000..dd7857df --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,33 @@ +name: Push Workflow + +on: + push: + branches-ignore: [release, master] + +permissions: + contents: read + +jobs: + build-and-test: + name: Build & Test + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Setup .NET + uses: actions/setup-dotnet@v6 + with: + dotnet-version: 10.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore -c Debug -v n + - name: Tests + run: dotnet test -c Debug --no-build -v n + - name: Upload Windows Build + uses: actions/upload-artifact@v7 + with: + name: windows_build_${{ github.sha }} + path: ./src/HydraScript/bin/Debug/net10.0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fe93d384..7d409ab9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,8 +2,7 @@ name: Release Workflow on: push: - branches: - - 'release' + branches: [release] permissions: contents: write diff --git a/ExtendedJavaScriptSubset.slnx b/ExtendedJavaScriptSubset.slnx index 94a939ee..33d2e5ff 100644 --- a/ExtendedJavaScriptSubset.slnx +++ b/ExtendedJavaScriptSubset.slnx @@ -24,8 +24,10 @@ - + + + From 61832eecd808c26cf7ebd0ce0b1784d92ee243e8 Mon Sep 17 00:00:00 2001 From: Stepami Date: Thu, 13 Aug 2026 15:24:30 +0300 Subject: [PATCH 9/9] fix(pr.yml) - win -> unix --- .github/workflows/pr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c4b77a62..cb58a6ad 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -30,9 +30,9 @@ jobs: run: dotnet test -c Debug --no-build -v n --filter-trait Category=Unit - name: Integration Tests run: | - dotnet test --project tests/HydraScript.IntegrationTests ` - -c Debug --no-build -v n ` - --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml ` + dotnet test --project tests/HydraScript.IntegrationTests \ + -c Debug --no-build -v n \ + --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml \ --coverage-settings tests/coverage-exclude.xml mkdir coverage-report - name: Code Coverage Summary Report For Merge Request