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

Add additional architecture testing to drone #868

Merged
merged 18 commits into from
Jan 16, 2023
Merged

Conversation

mborland
Copy link
Member

@mborland mborland commented Nov 5, 2022

No description provided.

@jzmaddock
Copy link
Collaborator

Cool, I hadn't realised we had that facility!

@mborland
Copy link
Member Author

mborland commented Nov 5, 2022

@sdarwin Do you see my error in adding M1? It's mostly copy-paste from the slack channel but I am getting the error linter: duplicate pipeline names on drone side.

@sdarwin
Copy link
Contributor

sdarwin commented Nov 5, 2022

@mborland the first argument 'job name' must be unique. Change to "Clang " + cxx

@mborland
Copy link
Member Author

mborland commented Nov 6, 2022

@jzmaddock This seems to be working now, but produced some errors in special_fun and distribution_tests. Most of them I think are safe to just loosen the tolerance on a hair but several feel more nefarious like this one:

Testing: Elliptic Integral Jacobi Zeta: Random Data
953s
6099	jacobi_zeta<double> Max = 2.232e+14 RMS Mean=1.537e+13
953s
6100	    worst case at row: 1921
953s
6101	    { 1.4786438941955566, 3.2146250106279695e-09, 4.7345199477425445e-19 }
953s
6102	Peak error greater than expected value of 1
953s
6103	./handle_test_result.hpp:165: error: in "test_main": check bounds.first >= max_error_found has failed
953s
6104	Mean error greater than expected value of 1
953s
6105	./handle_test_result.hpp:170: error: in "test_main": check bounds.second >= mean_error_found has failed

Interestingly, I can't reproduce any of the errors on my M1 machine. @NAThompson are you able to reproduce?

@mborland mborland changed the title Add M1 testing to drone Add additional architecture testing to drone Nov 10, 2022
@jzmaddock
Copy link
Collaborator

@mborland : I'm going to extract the s390x logic out of this to a separate PR as that's the closest to being green, and then we should go from there.

@mborland mborland closed this Jan 13, 2023
@jzmaddock
Copy link
Collaborator

@mborland : do we need to revisit running M1 tests? I'm sure I'm missing something, but I'm not seeing what makes these tests run on M1?

@mborland
Copy link
Member Author

@mborland : do we need to revisit running M1 tests? I'm sure I'm missing something, but I'm not seeing what makes these tests run on M1?

Now that you have ARM working I think it would be easy to add. It is generally this line:

      result.append(osx_cxx("M1 Clang " + cxx + " " + suite, "clang++", buildscript="drone", buildtype="boost", xcode_version="14.1", environment={'TOOLSET': 'clang', 'CXXSTD': cxx, 'TEST_SUITE': suite, 'DEFINE': 'BOOST_MATH_NO_REAL_CONCEPT_TESTS,BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS,BOOST_MATH_MULTI_ARCH_CI_RUN', }, globalenv=globalenv))

The macOS machines in drone are supposed to be M1.

@sdarwin
Copy link
Contributor

sdarwin commented Jan 15, 2023

While the macOS machines are m1, it seems the OS can simulate x86 or use the native arm architecture.

The drone process appears to be using x86 so I need to work on fixing that.

@mborland
Copy link
Member Author

That makes sense because I was getting failures from CI that I could not reproduce locally on my M1 machine. Thanks.

@sdarwin
Copy link
Contributor

sdarwin commented Jan 16, 2023

Switched m1 drone to arm64. Try it again.

@mborland mborland reopened this Jan 16, 2023
@mborland
Copy link
Member Author

@jzmaddock It looks like M1 is good to go as well now. Merging.

@mborland mborland merged commit e2c989c into boostorg:develop Jan 16, 2023
@mborland mborland deleted the m1 branch January 16, 2023 19:13
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.

3 participants