Skip to content

Add CI support for publishing Windows ARM64 wheels - #14

Open
MugundanMCW wants to merge 2 commits into
HugoMVale:mainfrom
MugundanMCW:main
Open

MugundanMCW wants to merge 2 commits into
HugoMVale:mainfrom
MugundanMCW:main

Conversation

@MugundanMCW

@MugundanMCW MugundanMCW commented Oct 7, 2026 •

Copy link
Copy Markdown

PR Description:

  • The PR adds support for building, testing and publishing odrpack-python library for Windows ARM64.
  • Updated the wheel builder script to enable CI support for Windows ARM64.
  • Currently GCC toolchain is not natively available for Windows ARM64 target, so use LLVM toolchain(clang-cl+flang-new) for the compilation of wheels.
  • Use Prebuilt openblas from official github releases for Windows ARM64

@HugoMVale HugoMVale left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR.
Please have a look at the request below.

$LlvmBin = 'C:\Program Files\LLVM\bin'
$LlvmInstaller = "$env:RUNNER_TEMP\LLVM-22.1.8-woa64.exe"
$LlvmUrl = "https://github.com/llvm/llvm-project/releases/download/llvmorg-$LlvmVersion/LLVM-$LlvmVersion-woa64.exe"
Invoke-WebRequest $LlvmUrl -UseBasicParsing -OutFile $LlvmInstaller

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hash verification for downloaded binaries (High Risk).

  • Lines 7 and 28 download executables and archives without verifying checksums
  • An attacker performing a MITM attack or compromising GitHub's release infrastructure could inject malicious code
  • Fix: Validate SHA256 hashes against known good values

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review, I have added the hash verification for llvm. Kindly take a look and let me know if you have any further queries

Updated LLVM download URL and added SHA256 verification.
@MugundanMCW
MugundanMCW requested a review from HugoMVale October 9, 2026 03:50
@codecov

codecov Bot commented Oct 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.59%. Comparing base (a96a2ab) to head (4afe24d).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #14   +/-   ##
=======================================
  Coverage   99.59%   99.59%           
=======================================
  Files           4        4           
  Lines         244      244           
  Branches       63       63           
=======================================
  Hits          243      243           
  Partials        1        1           

@HugoMVale

Copy link
Copy Markdown
Owner

I finally did what I should have done a couple of years ago, and measured the run times with reference blas and with openblas. The difference is insignificant, so it makes no sense to carry the burden of figuring out how to install openblas for every os/arch now and in the future.

This interferes with your PR -- sorry for that -- but should ultimately make things simpler. We just need the arch extension, not the openblas install. Can you please take care of it?

This branch has not been deployed

No deployments
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.

2 participants