Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucci AngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d  (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.

Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s) Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into master Aug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant