-
Notifications
You must be signed in to change notification settings - Fork 54
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
Use github actions for testing PRs #151
Conversation
@tresf regarding failing tests e.g. https://github.com/tresf/jssc/actions/runs/6807689668/job/18510958314 Here's whats going on:
To fix this we should do one of:
First option seems cleanest and easiest - see: pietrygamat@ca26e1a https://github.com/pietrygamat/jssc/actions/runs/6818119903/job/18543034333 |
This comment was marked as outdated.
This comment was marked as outdated.
Hmm... I feel copying all natives to the test directory is an over-complicated approach, when we only need one library to complete the native tests. |
That's effectively the same thing, because native compilation creates just one file per run. |
Hmm... well, since we set the native library path in |
I understand, but it introduces yet another copy to keep track of. I think testing the one we just built is better. Of course, this can fail if we skipped building too, which would fail the existing |
Yeah, this is the confusing part for me. WHY do we even have the first copy in Line 196 in 0d106b7
/target/cmake/natives , and keeps clean distinction between src and target , then it is explicitly broken. It looks to me it was an attempt to do the same thing I did today.
If we were to skip copying and use Now that I think about it, we should only have one copy from cmake's |
src/test/java/jssc/bootpath/ManualBootLibraryPathFailedTest.java
Outdated
Show resolved
Hide resolved
Sorry, this statement is right. I misunderstood. |
Copying to
I accidentally committed one in this branch. I'm welcome to ideas. One workaround is to add the directory to the
THIS is the fix. I'm not sure if we should keep around the cmake/natives copy, but copying back to classes is the puzzle piece I was missing. I don't hate having a second copy though, as it ensures that 8e6bc4a properly copies the recently compiled native library to |
I think this is finally ready for merge. I was hoping to hear from @hiddenalpha in regards to Windows exception testing, but we can discuss that in another thread. @pietrygamat in regards to polluting the source tree, I think that's a good conversation. Do you mind if we move it to another issue or to Discord? Also, a final review is appreciated. |
Adds dockerless CI jobs to compile and test for new PRs; removes Travis-CI which stopped running a while ago.
TODO:
DiscussSerialNativeInterfaceTest.reportsWriteErrorsAsIOException
is failing in CISince #136 Pass-Through JNI exceptions to caller in waitEvents #137 GitHub actions fail no matter what I try. @hiddenalpha thoughts welcome, but the test passes locally on Mac and Linux. I can't figure out why GitHub actions allows me to callwrite(fd)
on a file descriptor of-1
. The test is currently disabled if running in CI. I'm fine keeping it this way, but I'd like your opinion first.Windows tests for this are also failing. In hindsight, this is expected, the windows. Conversation deferred for another time.writeBytes()
doesn't yet have any exception throwing. I'm not sure if it's worth adding. Thoughts welcome. The test is currently disabled if running on Windows.riscv64
,riscv32
. At time of writing this, Ubuntu doesn't have a toolchain for riscv32, so I've omitted it from the matrix. If that changes, we can add it.Preview: