-
Notifications
You must be signed in to change notification settings - Fork 6.8k
[FEATURE] Add Java build using JavaCPP to map the C API #19797
base: master
Are you sure you want to change the base?
Conversation
* An initial README.md file * Copy of license files and libraries for GFortran * Support for MXNET_LIBRARY_PATH
Hey @saudet , Thanks for submitting the PR
CI supported jobs: [unix-cpu, unix-gpu, miscellaneous, website, windows-cpu, edge, sanity, centos-cpu, clang, centos-gpu, windows-gpu] Note: |
It looks like we're not allowed to use almost all third-party actions: |
Would it be too complicated to copy the scripts from https://github.com/bytedeco/javacpp-presets/blob/master/.github/actions/deploy-centos/action.yml to this repo? Otherwise, it might be required that apache infra approves the |
I could copy those scripts here, yes, and we could also copy the source code of all the other dependencies, such as OpenBLAS, GFortran, etc in this repository, but that's not being done. What's the rationale for allowing third-party software that isn't related to GitHub Actions, but not allowing third-party software that is related to GitHub Actions? For example, what about https://github.com/al-cheb/configure-pagefile-action/? I didn't write that one, and although we could also copy all the files here, it's not a contribution from me. How does Apache's IP team deal with that? |
If it doesn't work, it's may just be due some default setting. You can advise what Apache Infra needs to do and we can ask them to do it |
Hum, I'm assuming it has something to do with this, whose details are being kept secret for the moment for obvious reasons:
It looks like we can find out about the details of this on the internal infra mailing list: |
The last message on the thread provides some details: |
Thank you looking this up! The message refers to a serious security vulnerability in Github Actions that gives the job complete read and write access to the underlying git repository (if Is it possible to hardcode the third-party actions to a particular commit? If so, we can manually review their current state and make sure they are not malicious. Once done, I'm confident that Apache Infra would be happy to help enable the respective third-party extensions. On the other hand, if any updates of the third-party action are automatically applied, I'm not sure if Apache Infra would be happy to take the risk. WDYT? |
Yes, that's what I understood from the thread there, but it sounded like there was more to it than that. |
Thank you. I opened https://issues.apache.org/jira/browse/INFRA-21361 |
Description
Based on the discussion in issue #17783, I am proposing here as base for a new Java API to use JavaCPP, which takes care of building MXNet from source, generating appropriate low-level wrapper classes and JNI code for the C API, as well as bundle the resulting binaries in artifacts. This build was adapted, ported, and upgraded to Gradle from the JavaCPP Presets for MXNet 1.x available here:
This PR also contains a new "java" workflow for GitHub Actions that builds and deploys binaries for Linux (CentOS 7), Mac, and Windows, with and without CUDA (although the build currently fails with CUDA 11.2 on Windows), which produces files as per those previously deployed here:
(To have this deploy artifacts as part of
org.apache
, we need to enter credentials under the CI_DEPLOY_USERNAME and CI_DEPLOY_PASSWORD secrets for GitHub Actions.)Checklist
Essentials
Changes
Comments