Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows CI build #168

Merged
merged 13 commits into from
Dec 10, 2024
Merged

Windows CI build #168

merged 13 commits into from
Dec 10, 2024

Conversation

TomMelt
Copy link
Member

@TomMelt TomMelt commented Sep 13, 2024

This PR adds windows CI running on latest version of windows with intel compilers version 2023.2.

For green computing reasons I have only prepared an intel build. My plan is that we have:

  • gcc on linux
  • clang on mac; and
  • intel on windows

That way we can get nice coverage without hammering compute resources.

@TomMelt TomMelt self-assigned this Sep 13, 2024
@TomMelt TomMelt mentioned this pull request Nov 19, 2024
4 tasks
@TomMelt TomMelt changed the base branch from main to long-long-fix December 2, 2024 10:58
@TomMelt TomMelt force-pushed the windows-ci-build branch 2 times, most recently from bf86bc8 to 5f3579a Compare December 3, 2024 14:26
@TomMelt TomMelt added enhancement New feature or request testing Related to FTorch testing labels Dec 3, 2024
@TomMelt TomMelt changed the title WIP: Windows ci build Windows CI build Dec 3, 2024
Copy link
Member

@jatkinson1000 jatkinson1000 left a comment

Choose a reason for hiding this comment

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

Thanks @TomMelt
Looks sensible to me (as much as any windows code does...)

I think we need some documentation adding about how to run the test suite for Windows users (definitely online and maybe README, though perhaps online only to avoid pollution)

I know nothing about bat scripts, but is there a reason we apply it in a for loop for each example as part of the workflow rather than running all examples from the bat script as we do in run_integration_tests.sh?

Copy link
Collaborator

@jwallwork23 jwallwork23 left a comment

Choose a reason for hiding this comment

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

Thanks for putting in the effort to get this working @TomMelt. Just a few minor comments from me.

@TomMelt
Copy link
Member Author

TomMelt commented Dec 9, 2024

I know nothing about bat scripts, but is there a reason we apply it in a for loop for each example as part of the workflow rather than running all examples from the bat script as we do in run_integration_tests.sh?

fixed by a6ec9c2

Copy link
Collaborator

@jwallwork23 jwallwork23 left a comment

Choose a reason for hiding this comment

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

Looks good!

Copy link
Member

@jatkinson1000 jatkinson1000 left a comment

Choose a reason for hiding this comment

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

Thanks @TomMelt This looks great, I think we just need the online documentation updating to match (in pages/ - definitely testing.md, but worth a quick scan of anywhere else, including the Windows specific docs).

@TomMelt
Copy link
Member Author

TomMelt commented Dec 9, 2024

Thanks @TomMelt Looks sensible to me (as much as any windows code does...)

I think we need some documentation adding about how to run the test suite for Windows users (definitely online and maybe README, though perhaps online only to avoid pollution)

I know nothing about bat scripts, but is there a reason we apply it in a for loop for each example as part of the workflow rather than running all examples from the bat script as we do in run_integration_tests.sh?

solved by #203 and b38397a

Base automatically changed from long-long-fix to melt-windows-fix December 9, 2024 15:34
Copy link
Member

@jatkinson1000 jatkinson1000 left a comment

Choose a reason for hiding this comment

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

Thanks @TomMelt

This is really great, and a significant hurdle - hopefully you learnt something useful, even if it is at the cost of becoming the "Windows guy". ;P

The blocker for me is not only just to bump the version of CMake required by FTorch to be 3.15 (for use of the Python VIRTUALENV) feature (see specific comment).
Consider also updating in the example CMakeLists for consistency, and in the documentation. From past experience the easiest way to do this is to grep the full source for 3.5.

Once that is done I am happy to approve.

Other question is whether there is anything you feel is particularly useful or unintuitive to highlight for Windows users within the workflow. Otherwise we can just update the Windows docs piece by piece as people raise things in future.

@@ -101,6 +101,10 @@ install(FILES "${CMAKE_BINARY_DIR}/modules/ftorch_test_utils.mod"

# Build integration tests
if(CMAKE_BUILD_TESTS)

set (Python3_FIND_VIRTUALENV FIRST)
Copy link
Member

Choose a reason for hiding this comment

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

This is a CMake 3.15 feature, so perhaps we need to bump the dependency across FTorch to CMake 3.15?

I think this is still sufficiently old not to be an issue for any users.

Copy link
Member Author

Choose a reason for hiding this comment

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

done in 17d8db2

@jatkinson1000 jatkinson1000 mentioned this pull request Dec 9, 2024
3 tasks
@TomMelt
Copy link
Member Author

TomMelt commented Dec 10, 2024

Thanks @TomMelt

This is really great, and a significant hurdle - hopefully you learnt something useful, even if it is at the cost of becoming the "Windows guy". ;P

The blocker for me is not only just to bump the version of CMake required by FTorch to be 3.15 (for use of the Python VIRTUALENV) feature (see specific comment). Consider also updating in the example CMakeLists for consistency, and in the documentation. From past experience the easiest way to do this is to grep the full source for 3.5.

Once that is done I am happy to approve.

Other question is whether there is anything you feel is particularly useful or unintuitive to highlight for Windows users within the workflow. Otherwise we can just update the Windows docs piece by piece as people raise things in future.

Thanks @jatkinson1000 , I have added a concrete example to the online docs just in case anyone has difficulty (most likely my future self)

@jatkinson1000
Copy link
Member

Thanks @TomMelt I think README.md and /pages/cmake.md still need the CMake versioin updating from 3.5 to 3.15.

@TomMelt
Copy link
Member Author

TomMelt commented Dec 10, 2024

Thanks @TomMelt I think README.md and /pages/cmake.md still need the CMake versioin updating from 3.5 to 3.15.

done in df5340a

Copy link
Member

@jatkinson1000 jatkinson1000 left a comment

Choose a reason for hiding this comment

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

I'm happy with this now.

Thanks @TomMelt it has been a mammoth task you've done here!

@TomMelt TomMelt merged commit 728a4be into melt-windows-fix Dec 10, 2024
3 of 4 checks passed
@TomMelt TomMelt deleted the windows-ci-build branch December 10, 2024 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request testing Related to FTorch testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants