Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
734f29f
Miscellaneous
dusrdev Nov 3, 2025
185680c
Updated unit tests to MTP and increased coverage
dusrdev Nov 3, 2025
4a3ffbc
updated workflow
dusrdev Nov 3, 2025
0c76e1f
Updated dependencies and refined all codebase
dusrdev Nov 3, 2025
98a8eb8
Updated versions, changelog and readme
dusrdev Nov 3, 2025
dfff56b
Added stub for aot profiling
dusrdev Nov 4, 2025
3916f20
Added rust local server to profile pulse and compiler flags for perf
dusrdev Nov 4, 2025
9011993
reconfigured semaphore
dusrdev Nov 4, 2025
4a5b807
server #2
dusrdev Nov 5, 2025
df364ef
Preserve command method info to workaround trimming
dusrdev Nov 5, 2025
e337273
Fix issue with cancellation
dusrdev Nov 5, 2025
f18e98a
Rename file to proper symbol name
dusrdev Nov 5, 2025
62914e0
Paths should not be followed by dot to enable linking by shell
dusrdev Nov 5, 2025
937b0dc
Fix colored inconsistency in summary
dusrdev Nov 5, 2025
b33728b
Added missing props
dusrdev Nov 5, 2025
61e4019
Fix leaking output to summary in verbose mode
dusrdev Nov 5, 2025
7c02cf9
Added color to outliers
dusrdev Nov 5, 2025
d6c34d8
Fixed trimming on ConsoleAppFramework side and updated version
dusrdev Nov 7, 2025
88ab370
Improve ETA calculation in pulse monitor
dusrdev Nov 8, 2025
76c4c89
Migrated to slnx
dusrdev Nov 11, 2025
49fdc57
Address warnings
dusrdev Nov 11, 2025
0cda43f
Use channel to limit concurrent console printing
dusrdev Nov 11, 2025
31aa6de
Address dash board leaks to summary
dusrdev Nov 11, 2025
7825e75
Set langversion
dusrdev Nov 11, 2025
a140436
Added state to track lines written
dusrdev Nov 11, 2025
58093d3
Use console state to clear outputs
dusrdev Nov 11, 2025
087cf7a
-
dusrdev Nov 11, 2025
ed35103
Better tracking of lines written
dusrdev Nov 11, 2025
9de3e14
Use lock
dusrdev Nov 11, 2025
a52aa35
Cleanup LinesWritten
dusrdev Nov 11, 2025
fd82ec4
Hide cursor in dashboard
dusrdev Nov 11, 2025
1e3ea85
Update to net10
dusrdev Nov 12, 2025
6d048d5
Use workers instead of pure tasks
dusrdev Nov 12, 2025
1951d86
Upgrade to PrettyConsole5
dusrdev Nov 15, 2025
c7e2d6d
Add file-based app for profiling
dusrdev Nov 15, 2025
25fd49b
Use file-based app for runner
dusrdev Nov 18, 2025
f45b38f
use file-based app for server
dusrdev Nov 18, 2025
4e43bb1
CommandAppFramework should handle validation and parsing exceptions
dusrdev Nov 18, 2025
00250ee
Add json schema command
dusrdev Nov 18, 2025
b8b493b
updated dependencies
dusrdev Nov 18, 2025
0adc63e
remove redundant address output
dusrdev Nov 18, 2025
0ebb67a
server improvement
dusrdev Nov 18, 2025
f1a876c
Remove dependency on sharpify + fix invalid formats
dusrdev Nov 18, 2025
7aa1945
Update .net version
dusrdev Nov 18, 2025
bce4948
prepare (commented) profiling once for once it becomes functional.
dusrdev Nov 18, 2025
55c02ca
Better command descriptions
dusrdev Nov 18, 2025
fd54da9
Added cli-schema command
dusrdev Nov 18, 2025
2c87e24
Updated history and changelog
dusrdev Nov 18, 2025
b703523
Fix readme and update assets
dusrdev Nov 18, 2025
0760d7f
Added formatting abstraction
dusrdev Nov 22, 2025
355ef2d
Improved formatting abstraction and added converter
dusrdev Nov 22, 2025
39a0448
Implement global options to support OutputFormatter
dusrdev Nov 22, 2025
5ddc3f1
Update dependencies
dusrdev Nov 22, 2025
d0c0d34
Add TermsOfService model
dusrdev Nov 22, 2025
f11eaed
Use termsOfService model
dusrdev Nov 22, 2025
52e079a
Removed unnecessary generic
dusrdev Nov 22, 2025
a8c29af
Added summary models
dusrdev Nov 22, 2025
174b69a
Use one serializer context for models
dusrdev Nov 22, 2025
056bc21
Simplify model
dusrdev Nov 22, 2025
00a86f7
Moved models to correct folder
dusrdev Nov 22, 2025
cb11ef9
Implemented Summary format
dusrdev Nov 22, 2025
7631233
Better more accurate summary
dusrdev Nov 22, 2025
9b3ba5f
Implement output formatting to run configuration
dusrdev Nov 22, 2025
6864baf
Added checkForUpdatesModel
dusrdev Nov 22, 2025
6d4d3b7
General cleanup
dusrdev Nov 22, 2025
71d4705
Removed compiler directives
dusrdev Nov 22, 2025
60b573c
Implemented use of --llm in root
dusrdev Nov 22, 2025
0154a2b
Simplify extension
dusrdev Nov 22, 2025
4ebd422
Update summary tests to fit new APIs
dusrdev Nov 22, 2025
9038784
Update agents.md
dusrdev Nov 22, 2025
4a04dad
renamed llm flag to output-format
dusrdev Nov 22, 2025
3979281
End json with newline
dusrdev Nov 22, 2025
f35da75
update dependencies
dusrdev Nov 22, 2025
3c05498
Added "quiet" flag.
dusrdev Nov 22, 2025
f7c85d1
Moved model + add formatting
dusrdev Nov 22, 2025
55f89b5
Respect output format
dusrdev Nov 22, 2025
3938db7
Update history and removed redundant changelog
dusrdev Nov 22, 2025
cd967bc
Update readme
dusrdev Nov 22, 2025
1b2b136
Update agents.md
dusrdev Nov 22, 2025
fd9a381
Formatting
dusrdev Nov 22, 2025
03f00ed
Update prettyConsole
dusrdev Nov 24, 2025
06915e7
Migrate tests to TUnit
dusrdev Nov 24, 2025
cb23453
Updated workflows
dusrdev Nov 24, 2025
080409d
Fix unit tests workflow
dusrdev Nov 24, 2025
69ed3d4
-
dusrdev Nov 24, 2025
fed91e3
--
dusrdev Nov 24, 2025
e2d9126
---
dusrdev Nov 24, 2025
ecb6b4f
Use quiet in tests to prevent github action failure
dusrdev Nov 24, 2025
74b24a8
Add info command
dusrdev Nov 24, 2025
70e1520
Renamed output to print
dusrdev Nov 24, 2025
a6114ca
Update help after new version of ConsoleAppFramework
dusrdev Nov 25, 2025
c8b6a7a
Updated to latest version of ConsoleAppFramework
dusrdev Nov 26, 2025
2cf1995
Update PrettyConsole
dusrdev Dec 4, 2025
48aa14b
Update PrettyConsole
dusrdev Dec 7, 2025
23937bf
Remove verbose option
dusrdev Dec 7, 2025
71a9dc4
Updated changelog
dusrdev Dec 7, 2025
026c13e
Flatten PulseMonitor
dusrdev Dec 7, 2025
3e7df41
Removed requestExecutionContext
dusrdev Dec 7, 2025
520cbfe
Update tests
dusrdev Dec 7, 2025
2c3b8f6
Flatten pulse more
dusrdev Dec 7, 2025
639f539
Better output formatting
dusrdev Dec 7, 2025
32549b7
Update formatting of dashboard
dusrdev Dec 7, 2025
7e7f314
Update docs
dusrdev Dec 7, 2025
1b89c2d
Update dependencies
dusrdev Dec 7, 2025
6c8240a
Formatting
dusrdev Dec 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,17 @@ dotnet_remove_unnecessary_suppression_exclusions = none
#### C# Coding Conventions ####
[*.cs]
# analyzers
dotnet_diagnostic.IDE0290.severity = none # use primary constuctor
dotnet_diagnostic.IDE0290.severity = none # use primary constructor
dotnet_diagnostic.IDE0028.severity = none # use collection expression
dotnet_diagnostic.IDE0056.severity = none # simplify index operator
dotnet_diagnostic.IDE0057.severity = none # use range operator
dotnet_diagnostic.IDE0301.severity = none # simplify collection initialization
dotnet_diagnostic.IDE0053.severity = none # expression body lambda
dotnet_diagnostic.IDE0046.severity = none # simplify if(s) - conditional operator
dotnet_diagnostic.IDE0305.severity = none # [, ...] instead of .ToArray()

# namespace decleration

# namespace declaration
csharp_style_namespace_declarations = file_scoped:warning

# var preferences
Expand Down
53 changes: 52 additions & 1 deletion .github/workflows/publish-current-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,62 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "9.0.x"
dotnet-version: "10.0.x"

- name: Restore Dependencies
run: dotnet restore src/Pulse/Pulse.csproj

# - name: Publish (generate PGO data)
# run: dotnet publish src/Pulse/Pulse.csproj -c Release -o artifacts /p:IlcGeneratePgoData=true
# env:
# DOTNET_ROOT: ${{ env.DOTNET_ROOT }}

# - name: Save artifact directory path (Unix)
# if: matrix.os != 'windows-latest'
# run: echo "executableDirectory=$(pwd)/artifacts" >> $GITHUB_ENV
# shell: bash

# - name: Save artifact directory path (Windows)
# if: matrix.os == 'windows-latest'
# shell: pwsh
# run: |
# $artifacts = Join-Path (pwd).Path 'artifacts'
# Add-Content -Path $env:GITHUB_ENV -Value "executableDirectory=$artifacts"

# - name: Profile with static PGO (Unix)
# if: matrix.os != 'windows-latest'
# working-directory: profiling
# shell: bash
# env:
# DOTNET_ROOT: ${{ env.DOTNET_ROOT }}
# run: |
# dotnet run server.cs &
# server_pid=$!
# trap 'kill $server_pid >/dev/null 2>&1 || true' EXIT
# dotnet run runner.cs -- --directory-path "${{ env.executableDirectory }}"
# kill $server_pid >/dev/null 2>&1 || true
# wait $server_pid || true

# - name: Profile with static PGO (Windows)
# if: matrix.os == 'windows-latest'
# working-directory: profiling
# shell: pwsh
# env:
# DOTNET_ROOT: ${{ env.DOTNET_ROOT }}
# run: |
# $server = Start-Process dotnet -ArgumentList 'run','server.cs' -PassThru
# try {
# dotnet run runner.cs -- --directory-path $env:executableDirectory
# } finally {
# Stop-Process -Id $server.Id -ErrorAction SilentlyContinue -Force
# Wait-Process -Id $server.Id -ErrorAction SilentlyContinue
# }

# - name: Publish
# run: dotnet publish src/Pulse/Pulse.csproj -c Release -o publish /p:IlcUsePgoData=./artifacts/Program.pgo
# env:
# DOTNET_ROOT: ${{ env.DOTNET_ROOT }}

- name: Publish
run: dotnet publish src/Pulse/Pulse.csproj -c Release -o publish
env:
Expand Down
54 changes: 22 additions & 32 deletions .github/workflows/unit-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,36 @@ on:
pull_request:
workflow_dispatch:

env:
TEST_PROJECT: tests/Pulse.Tests/Pulse.Tests.csproj
TEST_ARTIFACTS: tests/Pulse.Tests/artifacts/
TEST_RUNNER: tests/Pulse.Tests/artifacts/Pulse.Tests

jobs:
test-pulse:
runs-on: ${{ matrix.os }}
unit-tests:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
configuration: [Debug, Release]

env:
# Define the path to project and test project
PROJECT: src/Pulse/Pulse.csproj
TEST_PROJECT: tests/Pulse.Tests.Unit/Pulse.Tests.Unit.csproj

include:
- os: ubuntu-latest
- os: macos-latest
- os: windows-latest
runs-on: ${{ matrix.os }}
steps:
# 1. Checkout the repository code
- name: Checkout Repository
uses: actions/checkout@v4

# 2. Cache NuGet packages
- name: Cache NuGet Packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
- uses: actions/checkout@v4

# 3. Setup .NET
- name: Setup .NET
- name: Setup .NET 10
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
dotnet-version: 10.0.x

# 4. Clean
- name: Clean
- name: Publish native AOT test runner
run: |
dotnet clean ${{ env.PROJECT }} -c ${{ matrix.configuration }}
dotnet clean ${{ env.TEST_PROJECT }} -c ${{ matrix.configuration }}
dotnet publish ${{ env.TEST_PROJECT }} -c Release -o "${{ env.TEST_ARTIFACTS }}"

# 5. Run Unit Tests
- name: Run Unit Tests
run: dotnet test ${{ env.TEST_PROJECT }} -c ${{ matrix.configuration }}
- name: Run published tests
shell: bash
run: |
exe="${{ env.TEST_RUNNER }}"
if [[ "${{ matrix.os }}" == "windows-latest" ]]; then exe="$exe.exe"; fi
"$exe"
Loading