forked from 1b-agent/fieldcraft-upstream
app: startup steps in the crash journal, and a Windows exception filter (#299)
egui-wgpu's startup hook and the app's own steps (window, app setup, viewport pipelines, first frame, running) go into the journal. On Windows, native_crash.rs (adapted from SolidCraft, the only module allowed unsafe code; the app crate now denies instead of forbids it) writes the exception code, faulting module and offset and a minidump. A nightly/on-demand CI job runs the app's tests on Windows, including a child that faults on purpose. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
ed25de6521
commit
af9b4bb222
8 files changed
+394
-13
No files matched your search
@@ -196,6 +196,23 @@ jobs:
|
||||
- name: docs/oracle.md is current
|
||||
run: git diff --exit-code docs/oracle.md
|
||||
|
||||
windows:
|
||||
# The desktop app's tests on Windows, nightly and on demand: the Windows-only code
|
||||
# (apps/fieldcraft/src/native_crash.rs, the exception filter) builds and a child process that
|
||||
# faults on purpose leaves its native crash report (#299). Releases build Windows too.
|
||||
name: Windows app tests
|
||||
if: github.event.schedule == '23 3 * * *' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
|
||||
with:
|
||||
shared-key: windows
|
||||
save-if: ${{ github.ref == 'refs/heads/develop' }}
|
||||
- run: cargo test --locked --profile ci -p fieldcraft
|
||||
|
||||
advisories:
|
||||
name: Dependency licences, advisories and sources
|
||||
if: github.event.schedule != '41 4 * * 0' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'dependabot[bot]')
|
||||
|
||||
Reference in new issue
Block a user