Establish native deterministic codegen framework (#45)
Some checks failed
Native code generation / deterministic (macos-latest) (push) Has been cancelled
Native code generation / deterministic (ubuntu-latest) (push) Has been cancelled
Native code generation / deterministic (windows-latest) (push) Has been cancelled
Imaging and meshing gate / native (macos-latest) (push) Has been cancelled
Imaging and meshing gate / native (ubuntu-latest) (push) Has been cancelled
Imaging and meshing gate / native (windows-latest) (push) Has been cancelled
JPEG 2000 feature / linux (push) Has been cancelled
JPEG 2000 feature / macos (push) Has been cancelled
JPEG 2000 feature / windows (push) Has been cancelled
Skia feature / linux (push) Has been cancelled
Skia feature / macos (push) Has been cancelled
Skia feature / windows (push) Has been cancelled

This commit is contained in:
2026-08-09 05:26:47 +00:00
parent 9a62922afa
commit 9f7a4e323f
19 changed files with 34867 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
name: Native code generation
on:
push:
pull_request:
jobs:
deterministic:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy,rustfmt
- name: Test diagnostics and byte-identical generation
run: cargo test -p libremetaverse-codegen
- name: Verify vendored hashes and checked-in output
run: cargo run -p libremetaverse-codegen -- check
- name: Regenerate twice without reference checkout access
run: |
cargo run -p libremetaverse-codegen -- generate
cargo run -p libremetaverse-codegen -- generate
git diff --exit-code -- codegen/generated
- name: Lint native generator
run: cargo clippy -p libremetaverse-codegen --all-targets -- -D warnings
- name: Prove normal consumer build does not execute generation
run: cargo build -p libremetaverse --locked