Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .github/workflows/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ jobs:
strategy:
fail-fast: false
matrix:
system: [windows-2025, windows-2022]
system: [windows-2025, windows-2022, windows-11-arm]
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we use MLK_FORCE_AARCH64 on windows-11-arm to double-check that the system is detected as Arm?

name: Quickcheck ${{ matrix.system }}
runs-on: ${{ matrix.system }}
steps:
Copy link
Contributor

Choose a reason for hiding this comment

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

Below, windows-latest is used for mingw. Should we split this now and test with x86-Windows and Arm-Windows?

Copy link
Contributor

@hanno-becker hanno-becker Sep 5, 2025

Choose a reason for hiding this comment

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

I tested forcing windows-11-arm for the mingw test and setting MLK_FORCE_AARCH64, but it fails. Any idea why? @mkannwischer @willieyz

Copy link
Contributor

Choose a reason for hiding this comment

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

After dumping all preprocessor directives in the github summary of the mingw action, I doubt this is actually picking up an Arm instance: https://github.com/pq-code-package/mlkem-native/actions/runs/17483331582

Compiler location: /c/mingw64/bin/gcc
Compiler: gcc.exe (x86_64-posix-seh-rev2, Built by MinGW-W64 project) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiler directives:
#define DBL_MIN_EXP (-1021)
#define UINT_LEAST16_MAX 0xffff
#define FLT16_HAS_QUIET_NAN 1
#define __ATOMIC_ACQUIRE 2
...
#define __x86_64 1

Expand All @@ -187,6 +187,18 @@ jobs:
# print compiler version
cl
nmake /f ./Makefile.Microsoft_nmake quickcheck
- name: Setup MSVC (arm64)
if: ${{ matrix.system == 'windows-11-arm' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_arm64
- name: Check MSVC setup (armasm64)
if: ${{ matrix.system == 'windows-11-arm' }}
shell: powershell
run: |
where cl ; where armasm64
cl
armasm64 -h
quickcheck-windows-mingw-w64:
strategy:
fail-fast: false
Expand Down
Loading