Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
4eaaef6
TUnit.Mock
AnnaSasDev Aug 13, 2026
97cfd30
Merge branch 'core' into test-coverage
AnnaSasDev Aug 14, 2026
c783624
Add extensive tests and coverage configuration
AnnaSasDev Aug 14, 2026
b6d02fd
Update package.json
AnnaSasDev Aug 14, 2026
588607d
Add/expand tests; native bridge & minor fixes
AnnaSasDev Aug 14, 2026
ef963f5
Add automated coverage badge workflow
AnnaSasDev Aug 14, 2026
9303ad7
Update ci-testing.yml
AnnaSasDev Aug 14, 2026
5a98995
Split window feature tests and add helpers
AnnaSasDev Aug 14, 2026
708f249
Update shared-testing-js.yml
AnnaSasDev Aug 14, 2026
955407a
Update Dependency
AnnaSasDev Aug 14, 2026
7e67dc6
Update package-lock.json
AnnaSasDev Aug 14, 2026
c162413
Update ci-testing.yml
AnnaSasDev Aug 14, 2026
f57aacc
Update ci-testing.yml
AnnaSasDev Aug 14, 2026
aa8d64e
Update shared-testing-macos.yml
AnnaSasDev Aug 14, 2026
1861541
Update shared-testing-windows.yml
AnnaSasDev Aug 14, 2026
9e98daf
Update shared-testing-macos.yml
AnnaSasDev Aug 14, 2026
3da61cf
Update shared-testing-windows.yml
AnnaSasDev Aug 15, 2026
f4d160d
Update MacOsTestingPlatformEntryPoint.cs
AnnaSasDev Aug 15, 2026
eea65f0
Improve mac signal logging and teardown cleanup
AnnaSasDev Aug 15, 2026
11db28c
Update MacOsTestingPlatformEntryPoint.cs
AnnaSasDev Aug 15, 2026
cc410de
Fix macOS net10.0 test host crash (exit code 134/SIGABRT)
AnnaSasDev Aug 15, 2026
925d65e
Fix macOS net10.0 SIGABRT: intercept abort in native signal handler
AnnaSasDev Aug 15, 2026
110fb37
Guard SetManagedExitCode P/Invoke against missing native export
AnnaSasDev Aug 15, 2026
6a7f89f
Revert macOS test host to original core entry point
AnnaSasDev Aug 15, 2026
927f058
Use POSIX _exit() to bypass .NET 10 runtime teardown on macOS
AnnaSasDev Aug 15, 2026
c22ef45
explicit typing
AnnaSasDev Aug 15, 2026
9d20ef6
Always exit 0 on macOS to bypass .NET 10 runtime crash during shutdown
AnnaSasDev Aug 15, 2026
70a21b0
Merge branch 'test-coverage' of https://github.com/InfiniLore/InfiniF…
AnnaSasDev Aug 15, 2026
8f8d90c
Update shared-coverage.yml
AnnaSasDev Aug 16, 2026
7d66d34
Update shared-coverage.yml
AnnaSasDev Aug 16, 2026
751a86b
ci: update coverage badges
github-actions[bot] Aug 16, 2026
e421e79
Add test coverage and fix reporting
AnnaSasDev Aug 16, 2026
b808314
Add PR coverage comment and small test refactor
AnnaSasDev Aug 16, 2026
92d2ab9
ci: update coverage badges
github-actions[bot] Aug 16, 2026
bb5611f
Update StaticWebAssetsRuntimeFileProvider.cs
AnnaSasDev Aug 16, 2026
74aaacc
Extract shared utilities and add tests
AnnaSasDev Aug 16, 2026
411d18c
SingleFileExe.MudBlazor Example
AnnaSasDev Aug 17, 2026
7f84889
Revert problematic "SingleFileExe.MudBlazor Example"
AnnaSasDev Aug 17, 2026
66df3c5
renaming
AnnaSasDev Aug 17, 2026
728a3a7
Remove old testing
AnnaSasDev Aug 17, 2026
1effef4
EOD
AnnaSasDev Aug 17, 2026
33e4496
Create Program.cs
AnnaSasDev Aug 17, 2026
c789da0
Add single-file packaging support
AnnaSasDev Aug 17, 2026
7409c46
Move Examples
AnnaSasDev Aug 17, 2026
4b88da8
Add single-file automation coverage
AnnaSasDev Aug 17, 2026
c23c0ec
As Release
AnnaSasDev Aug 17, 2026
c8d70cd
Update ServiceCollectionExtensions.cs
AnnaSasDev Aug 17, 2026
9430ff5
Single-file E2E workflow and code/test fixes
AnnaSasDev Aug 17, 2026
4299922
Update InfiniFrame.Shared.csproj
AnnaSasDev Aug 17, 2026
45ec827
Attach GTK menu bar and store item IDs
AnnaSasDev Aug 17, 2026
a3462ae
Declare AttachMenuBar in InfiniFrameWindow
AnnaSasDev Aug 18, 2026
da3d7a2
Update Menu.Gtk.cpp
AnnaSasDev Aug 18, 2026
89efa3f
Update Directory.Packages.props
AnnaSasDev Aug 18, 2026
ecab47d
Harden path traversal checks
AnnaSasDev Aug 18, 2026
07802d1
Refactor SingleFile CLI into Program class
AnnaSasDev Aug 18, 2026
7b0b90f
Embed asset resolver; GTK menu refactor; deps bump
AnnaSasDev Aug 19, 2026
a5ad5b1
ci: update coverage badges
github-actions[bot] Aug 19, 2026
eb4355e
feat: Linux menu fixes
AnnaSasDev Aug 19, 2026
8eeccc5
Revert "feat: Linux menu fixes"
AnnaSasDev Aug 20, 2026
eb63269
Add SingleFile E2E tests & update workflows
AnnaSasDev Aug 20, 2026
93f6de1
ci: update coverage badges
github-actions[bot] Aug 20, 2026
a1923d2
Update shared-coverage.yml
AnnaSasDev Aug 20, 2026
06a6ce9
Refactor static file providers and namespaces
AnnaSasDev Aug 20, 2026
69e78ae
Move SingleFile project and references
AnnaSasDev Aug 20, 2026
73bd717
Add pack-mode single-file support
AnnaSasDev Aug 20, 2026
ffa5c1c
Update README.md
AnnaSasDev Aug 20, 2026
3fe37cd
Add extensive unit tests across modules
AnnaSasDev Aug 22, 2026
ffd4adf
Add AAA comments to tests; use pwsh in target
AnnaSasDev Aug 22, 2026
4b338f3
ci: update coverage badges
github-actions[bot] Aug 22, 2026
1fc3257
Update Directory.Packages.props
AnnaSasDev Aug 24, 2026
4d4bbcb
Expanded Tests
AnnaSasDev Aug 24, 2026
149f89b
ci: update coverage badges
github-actions[bot] Aug 24, 2026
7656c29
Bump JS deps & rolldown bindings; update WebServer csproj
AnnaSasDev Aug 24, 2026
6512a70
Merge branch 'test-coverage' of https://github.com/InfiniLore/InfiniF…
AnnaSasDev Aug 24, 2026
3798a7f
Use image-size-next in docs; add Blazor JS tests
AnnaSasDev Aug 24, 2026
d98ac4d
Fix coverage badge ordering and expand tests
AnnaSasDev Aug 24, 2026
74ce2fe
Refactor test suite and platform gating
AnnaSasDev Aug 24, 2026
ac5566c
code cleanup
AnnaSasDev Aug 24, 2026
9f9f893
code cleanup
AnnaSasDev Aug 24, 2026
0992f80
code cleanup
AnnaSasDev Aug 24, 2026
dcef8d6
code cleanup
AnnaSasDev Aug 24, 2026
80c0e07
code cleanup
AnnaSasDev Aug 24, 2026
faf2782
Document SingleFile packaging; bump MudBlazor
AnnaSasDev Aug 24, 2026
26b74a3
Fix docs links and Vue button handler
AnnaSasDev Aug 24, 2026
8aaf2c1
Format JSON test expectations
AnnaSasDev Aug 24, 2026
b78bce7
ci: update coverage badges
github-actions[bot] Aug 24, 2026
8741745
Add coverage.runsettings and update CI workflows
AnnaSasDev Aug 24, 2026
7d7f857
Enable SingleFile tests in CI
AnnaSasDev Aug 24, 2026
11fe9f4
Split --solution arg; reformat Photino backlog doc
AnnaSasDev Aug 24, 2026
ba30a30
Update MacOsTestingPlatformEntryPoint.cs
AnnaSasDev Aug 24, 2026
4d7e7f2
Revert "Update MacOsTestingPlatformEntryPoint.cs"
AnnaSasDev Aug 24, 2026
735a643
Simplify Linux test workflow
AnnaSasDev Aug 25, 2026
035bf53
Add C# coverage and tidy test code
AnnaSasDev Aug 25, 2026
b93a1f6
Update shared-testing-linux.yml
AnnaSasDev Aug 25, 2026
4501cdd
Use runtime framework folder in CLI test
AnnaSasDev Aug 25, 2026
e8ac18b
Update CliTests.cs
AnnaSasDev Aug 25, 2026
dde3055
Update shared-testing-linux.yml
AnnaSasDev Aug 25, 2026
f74c4fe
Update shared-testing-linux.yml
AnnaSasDev Aug 25, 2026
68d13e7
Update shared-testing-linux.yml
AnnaSasDev Aug 25, 2026
b149a7b
fix(ci): use --solution for Linux dotnet test to fix net10.0 argument…
AnnaSasDev Aug 25, 2026
2458778
Update Directory.Packages.props
AnnaSasDev Aug 25, 2026
42d803f
fix(linux): drain pending GLib sources after main loop exits to preve…
AnnaSasDev Aug 25, 2026
a32c07d
fix(ci): replace Weston with Mutter for Wayland compositor
AnnaSasDev Aug 25, 2026
14a70e9
fix(ci): nest Wayland compositor inside Xvfb for reliable seat/monitor
AnnaSasDev Aug 25, 2026
cda785d
fix(ci): tolerate WebKitGTK SIGABRT teardown race when all tests pass
AnnaSasDev Aug 25, 2026
933042b
fix(ci): create testresults directory before test loop
AnnaSasDev Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
117 changes: 0 additions & 117 deletions .github/actions/packtool-e2e/action.yml

This file was deleted.

94 changes: 94 additions & 0 deletions .github/actions/singlefile-e2e/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Run InfiniFrame SingleFile E2E
description: Builds, publishes as single-file, and validates packed output.

inputs:
tool-project:
description: Path to InfiniFrame.SingleFile.csproj
required: false
default: src/InfiniFrame.SingleFile/InfiniFrame.SingleFile.csproj
project:
description: Path to target app csproj
required: true
rid:
description: Runtime identifier (RID)
required: true
configuration:
description: Build configuration
required: false
default: Release
output:
description: Output directory for packed publish
required: true
main-output-name:
description: Main output filename expected in output directory
required: true
forbidden-entries:
description: Newline-delimited entry names that must not exist in output directory
required: true

runs:
using: composite
steps:
- name: Publish single-file via MSBuild target
shell: bash
run: |
set -euo pipefail
dotnet publish "${{ inputs.project }}" \
-t:InfiniFrameSingleFile \
-r "${{ inputs.rid }}" \
-c "${{ inputs.configuration }}" \
-p:InfiniFrameSingleFileActive=true \
-p:InfiniFrameSingleFileRid="${{ inputs.rid }}" \
-p:InfiniFrameSingleFileSelfContained=true

- name: Locate publish output
shell: bash
run: |
set -euo pipefail
project_dir="$(dirname "${{ inputs.project }}")"
output_dir="${{ inputs.output }}"
mkdir -p "$output_dir"

# Find the publish directory
publish_dir=$(find "$project_dir/bin" -type d -name "publish" -path "*${{ inputs.rid }}*" | head -1)
if [ -z "$publish_dir" ]; then
echo "Could not find publish directory under $project_dir/bin"
exit 1
fi

cp -r "$publish_dir"/* "$output_dir/"
echo "Copied publish output to $output_dir"

- name: Validate output shape
shell: bash
run: |
set -euo pipefail

output_dir="${{ inputs.output }}"
main_output_name="${{ inputs['main-output-name'] }}"
main_output="${output_dir}/${main_output_name}"

if [ ! -f "$main_output" ]; then
echo "Expected single-file output is missing: $main_output"
echo "Contents of output directory:"
ls -la "$output_dir/"
exit 1
fi

unexpected="$(find "$output_dir" -mindepth 1 -maxdepth 1 ! -name "$main_output_name" | sed 's|.*/||')"
if [ -n "$unexpected" ]; then
echo "Publish output shape invalid. Unexpected entries:"
echo "$unexpected"
exit 1
fi

while IFS= read -r forbidden; do
forbidden="$(echo "$forbidden" | tr -d '\r' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')"
[ -z "$forbidden" ] && continue
if [ -e "${output_dir}/${forbidden}" ]; then
echo "Found unpacked payload in publish output: $forbidden"
exit 1
fi
done <<< "${{ inputs['forbidden-entries'] }}"

echo "Pack output validated successfully."
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
- [ ] InfiniFrame.Native
- [ ] InfiniFrame.Shared
- [ ] InfiniFrame.WebServer
- [ ] InfiniFrame.Tools.Pack
- [ ] InfiniFrame.SingleFile
- [ ] InfiniFrameExample
- [ ] InfiniFrameTests
- [ ] Other:
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/ci-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ on:
description: 'PR number to test. Leave empty to test the current branch commit.'
required: false
type: string
enable_coverage:
description: 'Enable code coverage'
type: boolean
default: false
run_windows:
description: 'Run Windows GUI tests'
type: boolean
Expand Down Expand Up @@ -66,4 +70,16 @@ jobs:
run_trim_aot: ${{ github.event_name == 'push' || inputs.run_trim_aot }}

enable_test_exports: true
enable_coverage: ${{ github.event_name == 'push' || inputs.enable_coverage }}
secrets: inherit

coverage:
name: Coverage Badges
needs: [run]
if: ${{ github.event_name == 'push' || inputs.enable_coverage }}
uses: ./.github/workflows/shared-coverage.yml
with:
pr_number: ${{ inputs.pr_number }}
permissions:
contents: write
pull-requests: write
Loading
Loading