Skip to content

Add Windows CI and refactor workflow layout#137

Merged
rsuderman merged 4 commits into
iree-org:mainfrom
rsuderman:win_ci
Feb 7, 2026
Merged

Add Windows CI and refactor workflow layout#137
rsuderman merged 4 commits into
iree-org:mainfrom
rsuderman:win_ci

Conversation

@rsuderman

@rsuderman rsuderman commented Feb 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Refactors the monolithic build-and-test.yml into separate platform-specific reusable workflows (build-and-test-linux.yml and build-and-test-win.yml), called from the main workflow via workflow_call
  • Adds a new Windows x64 MSVC CI job (cpu_msvc_windows) running on azure-windows-scale runners, building with Ninja in Release mode (GPU disabled)
  • Fixes a += operator in samples/reduction/reduction_ops.cpp to use explicit addition for MSVC compatibility

🤖 Generated with Claude Code

@rsuderman rsuderman force-pushed the win_ci branch 12 times, most recently from 1a66e99 to 67f92c5 Compare February 6, 2026 23:05
Signed-off-by: Rob Suderman <rob.suderman@gmail.com>
Signed-off-by: Rob Suderman <rob.suderman@gmail.com>
Signed-off-by: Rob Suderman <rob.suderman@gmail.com>
@rsuderman rsuderman changed the title DO NOT SUBMIT - Disabling other CIs Add Windows CI and refactor workflow layout Feb 7, 2026
Comment thread .github/workflows/build-and-test-win.yml
Comment thread .github/workflows/build-and-test-win.yml Outdated
Comment thread .github/workflows/build-and-test-linux.yml Outdated

python3 -m pip install --upgrade pip
python3 -m pip install lit filecheck
python3 -m pip install --find-links https://iree.dev/pip-release-links.html iree-base-compiler==3.11.0rc20260203

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is probably the 4th place where we're specifying an IREE version (aside from CMakeLists.txt, pebble config, fusilli docker) :D

Don't have to address here unless it's quick but we probably need to consolidate to a single version file as source of truth.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think I can fix this up but it will require changing some of the CIs. I wanted to avoid making any substantial changes to the linux CI until after the windows one is in place.

refreshenv
- name: "Building Fusilli"
run: |
cmake -S . -B ${{ env.BUILD_DIR_POWERSHELL}} -G Ninja -DCMAKE_BUILD_TYPE=Release -DFUSILLI_ENABLE_LOGGING=ON -DFUSILLI_SYSTEMS_AMDGPU=OFF

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think it's safer to have this point to a clone of IREE at the specific nightly commit, to keep it in sync with the compiler binary. You can then point to it with -DIREE_SOURCE_DIR. Without that we basically FetchContent the version specified in the CMakeLists.txt: https://sourcegraph.com/github.com/iree-org/fusilli/-/blob/CMakeLists.txt?L114

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Let me handle this in a follow up. I think its not bad to fix but for now I wanted to focus on the CIs matching eachothers behavior.

Comment on lines +64 to +66
- name: "Running Fusilli tests (libIREECompiler CAPI)"
run: |
ctest --test-dir ${{ env.BUILD_DIR_POWERSHELL}} --output-on-failure --extra-verbose --timeout 120

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is CLI not supported on Windows?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I can enable it if you want, I wanted to avoid making the windows CI take longer. than it will already be. With the IREE CI we have found that windows tends to be much slower so minimizing to MVP tends to do wonders for CI runtime. If not I can add it back in.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's not super critical, just checking. The main use-case for CLI is for debugging / sharing repros, and right now this is fine since we're just developing / debugging on Linux, but when we see users actively developing on Windows flows, we can revisit this.

Comment thread .github/workflows/build-and-test-win.yml Outdated
Comment thread .github/workflows/build-and-test.yml Outdated
Signed-off-by: Rob Suderman <rob.suderman@gmail.com>
@rsuderman rsuderman merged commit a0fbc08 into iree-org:main Feb 7, 2026
14 of 16 checks passed
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